Dart-02: Language Tour
Dart-02-01   Important concepts
Dart-02-02   Keywords
Dart-02-03   Variables
Dart-02-04   Built-in types
Dart-02-05   Functions
Dart-02-06   Operators
Dart-02-07   Control flow statements
Dart-02-08   Exceptions
Dart-02-09   Classes
Dart-02-10   Generics
Dart-02-11   Libraries and visibility
Dart-02-12   Asynchrony support
Dart-02-13   Generators
Dart-02-14   Callable classes
Dart-02-15   Isolates
Dart-02-16   Typedefs
Dart-02-17   Metadata
Dart-02-18   Comments

Important concepts

Dart - Important concepts

Dart 언어에 대해 배울 때, 다음 사실을 염두에 두어야 한다.

  • 변수에 넣을 수 있는 모든 것은 객체(object)이고, 모든 객체는 class의 instance이다. 짝수, 함수, null 모두가 객체이다. (sound null safety를 가능하게 한다면) null을 제외하고 모든 객체는 Object class에서 상속된다.

  • Dart는 strongly typed이지만, Dart는 type을 유추할 수 있으므로 type 표기는 선택 사항이다.

  • null safety를 활성화하면, null이 가능하다고 말하지 않는 한 null을 포함할 수 없다. type의 끝에 question mark(?)를 넣어 변수를 null이 가능하게 만들 수 있다. 예를 들어, type int?의 변수는 정수이거나 null일 수 있다.

  • expression이 null로 평가되지 않는다는 것을 알고 있지만 Dart가 동의하지 않는 경우, null이 아니라고 주장하기 위해 !를 추가할 수 있다(그리고 만약 그렇다면 exception을 throw 한다). 예시: int x = nullableButNotNullInt!

  • 모든 type이 허용된다고 명시적으로 말하고 싶을 때, Object?(null safety가 활성화되어 있을 경우) 또는 Object type을 사용한다. 또한, runtime까지 type 검사를 연기해야 하는 경우, 특수 type dynamic을 사용할 수 있다.

  • Dart는 List<int>(정수 list) 또는 List<Object>(모든 type의 객체 list)와 같은 generic type을 지원한다.

  • Dart는 main()과 같은 top-level 함수, class 및 객체에 연결된 함수(각각 static and instance method)를 지원한다. 함수 내에서 함수를 만들 수도 있다(nested or local functions).

  • 마찬가지로, Dart는 top-level 변수, class 및 객체에 연결된 변수(각각 static and instace variable)을 지원한다. Instance 변수는 fields 또는 properties 라고도 한다.

  • Java와는 달리, Dart에는 public, protected, private keyword가 없다. 식별자가 underscore(_)로 시작하는 경우, 해당 library에서 private이다.

  • 식별자는 문자 또는 underscore(_)로 시작하고, 그 뒤에 문자와 숫자의 조합이 올 수 있다.

  • Dart는 expressions(runtime 값이 있음)과 statement(runtime 값이 없음)을 모두 가지고 있다. 예를 들어, condition expression condition ? expr1 : expr2의 값은 expr1 또는 expr2이다. 이와 달리 if-else statement는 값이 없다. statement에는 종종 하나 이상의 expression이 포함되지만, expression은 statement를 직접 포함할 수 없다.

  • Dart tool은 warnings 와 errors 라는 두 가지 종류의 문제를 보고할 수 있다. Warning은 code가 작동하지 않을 수 있다는 표시일 뿐, program 실행을 막지는 않는다. Error는 compile-time 또는 run-time일 수 있다. compile-time error code는 코드 실행을 완전히 막는다. run-time-error는 code가 실행되는 동안 예외(exception)가 발생한다.

0. Example

void main() {
  print('Hello, World!');
}
// Define a function.
void printInteger(int aNumber) {
  print('The number is $aNumber.'); // Print to console.
}

// This is where the app starts executing.
void main() {
  var number = 42;  // Declare and initialize a variable.
  printInteger(number); // Call a function.
}

태그:

카테고리:

업데이트:

댓글남기기