[Dart] 중요한 개념 정리

|
  • 변수에 담을 수 있는 모든 것은 객체이며 객체는 클래스의 인스턴스이다. 숫자, 함수 그리고 null까지도 객체이다. 모든 객체는 Object 클래스의 자식이다.
  • 컴파일시에 타입 검사를 하지만 dart가 타입을 추론하기 때문에 타입명시는 옵션이다.
  • Dart는 List<int>와 같은 제네릭 타입을 지원한다.
  • Dart는 main()함수와 같은 최상위 함수를 제공할 뿐만 아니라 static/instance 메서드를 지원한다. 또한 중첩함수나 지역함수도 만들 수 있다.
  • 비슷하게, dart는 최상위 변수 뿐만 아니라 static/instance 변수를 지원한다. Instance 변수는 fields/properties로 알려져있다.
  • 자바와는 다르게 dart는 public이나 protected, private와 같은 키워드를 가지지 않는다. 만약 identifier가 밑줄(_)로 시작한다면 해당 라이브러리에 private한 것이다.
  • Identifier는 문자나 밑줄(_)로 시작해서 숫자나 다른 문자의 조합으로 이어질 수 있다.
  • 가끔 무언가가 expression인지 statement인지 문제가 될 때가 있기 때문에 둘을 구분하는 것이 좋다.
  • Dart tools는 두가지 종류의 문제인 경고와 에러를 알려준다. 경고는 코드가 작동하지 않을 수도 있지만 실행은 막지 않는 것이며 에러는 compile-time/run-time에 발새할 수 있다. Compile-time 에러는 실행을 막으며 run-time 에러는 코드가 실행되는 동안 예외가 발생한다.