[Dart] Dart-02-01: Important concepts
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 언어에 대해 배울 때, 다음 사실을 염두에 두어야 한다.
-
변수에 넣을 수 있는 모든 것은 객체(object)이고, 모든 객체는 class의 instance이다. 짝수, 함수,
null
모두가 객체이다. (sound null safety
를 가능하게 한다면)null
을 제외하고 모든 객체는Object
class에서 상속된다. -
Dart는 strongly typed이지만, Dart는 type을 유추할 수 있으므로 type 표기는 선택 사항이다.
-
null safety
를 활성화하면, null이 가능하다고 말하지 않는 한null
을 포함할 수 없다. type의 끝에 question mark(?
)를 넣어 변수를 null이 가능하게 만들 수 있다. 예를 들어, typeint?
의 변수는 정수이거나null
일 수 있다. -
expression이
null
로 평가되지 않는다는 것을 알고 있지만 Dart가 동의하지 않는 경우, null이 아니라고 주장하기 위해!
를 추가할 수 있다(그리고 만약 그렇다면 exception을 throw 한다). 예시:int x = nullableButNotNullInt!
-
모든 type이 허용된다고 명시적으로 말하고 싶을 때,
Object?
(null safety가 활성화되어 있을 경우) 또는Object
type을 사용한다. 또한, runtime까지 type 검사를 연기해야 하는 경우, 특수 typedynamic
을 사용할 수 있다. -
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.
}
댓글남기기