[타입] [변수명] = [초기값];
Object
or Object?
를 쓸 것
(dynamic
은 최대한 지양할 것)var
을 지정하여 타입 추론 가능dynamic
과는 다르다변수를 사용하기 전까지, 초기화 코드가 실행되지 않는다.
다트는 Null safety한 언어로 잘못된 null 접근을 컴파일 타임에 잡아주어, 런타임 에러를 방지해준다.
다트는 Null safety를 위해 3가지를 제안한다.
?
를 붙여 nullable한 타입으로 만들 수 있다.nullable한 타입은 초기화하지 않아도 null로 초기화되기에, 초기화를 생략해도 된다.
non-nullable한 타입은 초기화 없이 접근시, 런타임 에러가 발생한다. => 단, 선언과 동시에 초기화할 필요는 없다. 변수 접근 이전에만 초기화하면 된다.
void main() {
String nonNull;
String? nullable;
print(nonNull); // Error: Non-nullable variable 'nonNull' must be assigned before it can be used.
print(nullable); // null 출력
}
late
변수late
변경자를 통해 변수를 선언하는 경우