late and nullable in dart

Safety of variables

변수(variable)를 사용할 때 값(value)이 있다는 것을 보장하는 것.

nullable variables

variable이 null을 가질 수 있다는 것, 즉 compiler에게 이 변수는 값이 없을 수 없다는 것을 알려 주어서 값을 사용하기 위해 null check 강제하도록 한다.

String? job; // nullable variable

late variables

late variables는 nullable variables가 아니다. 다만 선언과 초기화 시점이 다른 변수.

point of declaration ≠ point of initialization

compiler에게 이 변수를 사용하기 전에 초기화 할 것이라고 알려주는 것. 만약 초기화전에 이 변수를 사용하는 경우 LateInitializationError 에러 발생