Dart에서 const/final의 차이

SInuuu·2023년 3월 26일
0

const / final

Dart에는 변수를 불변형으로 선언하고 싶을때 const와 final을 사용할 수 있다. 둘다 한번 사용하면 값이 고정되고 재선언이나 재할당이 불가하다는 공통점이 있다. 그렇다면 둘의 차이는 무엇일까?

특징

두 타입의 결정적인 차이는 값이 결정되는 시점이다.
const : 한번 선언되면 재 선언 및 재 할당 불가, 컴파일시에 값이 결정됨
final : 한번 선언되면 재 선언 및 재 할당 불가, 실행시점에 값이 결정됨

-- var log1 = DateTime.now();
프로그램이 실행될 때 시간에 대한 로그를 남기고 싶을때 DateTime.now() 컴파일했던 시간을 담을 수 없으므로 const는 사용불가하며 final을 사용할 수 있다. 이 경우 말고도 값이 결정되는 시점이 중요한 경우가 있을 수 있으니 둘의 차이를 알고 쓰면 좋을거같다.

참고
https://velog.io/@ruinak_4127/Dart-final%EA%B3%BC-const%EC%9D%98-%EC%B0%A8%EC%9D%B4

profile
플린이의 좌충우돌 flutter 개발기

0개의 댓글