final, const 키워드 둘 다 한번 변수에 설정한 값을 재설정할 수 없다.
void main() {
const String name = "식식";
final int age = 25;
name = "식식이"; // error
age = 26; // error
}
차이점
const
const DateTime nowA = DateTime.now(); //error
print(nowA); //error
const는 컴파일 시 상수를 설정하기 때문에 런타임에서 코드가 실행되야 알 수 잇는 DateTime.now()의 값을 알 수 없어서 오류 발생
final
final DateTime nowB = DateTime.now();
print(nowB); // 정상적으로 출력
final은 런타임 시 상수를 설정하기 때문에 런타임시 코드가 실행되는 DateTime.now()의 값을 가져올 수 있어 정상적으로 출력함
'study > dart' 카테고리의 다른 글
다트(Dart) 변수와 타입 (0) | 2021.09.05 |
---|