개발일지/Dart
const와 final의 차이
ZI_CO
2022. 11. 6. 18:15
const(컴파일 시점) 와 final(런타임 시점)
둘은 값을 한 번 지정하게 되면 바꿀 수 없다는 공통적인 속성을 가지고 있다.
하지만 다른점이 존재하는데 가장 큰 차이점은 생성 시점이라고 볼 수 있다.
// final : 런타임 시점에서 상수가 됨. 현재시각을 알 수 있는건 런타임 시점데서 코드가 실행 되어야 알 수 있기때문이다.
final DateTime myFinal = DateTime.now();
print(myFinal);
// const : 컴파일 시점에서 상수가 됨. 컴파일 시점에서 상수가 되는데 런타임 시점에서는 값이 바뀔 수 없기때문에 에러가 난다.
const DateTime myConst = DateTime.now(); // 에러발생
print(myConst);