Dart :: Final & Const

JaeHwan·2023년 1월 31일
0

Dart

목록 보기
1/6

Dart 기초

Dart 에도 final 과 const가 있다.
둘의 특징은 변수 값을 처음 선언 후 바꿀 수 없다는 것이다.

같아 보이지만 둘의 차이점은 코드를 실행할 때 볼 수 있다.

void main() {
	final DateTime now = DateTime.now();
}
void main() {
	const DateTime now = DateTime.now();
}

위 두 코드를 보면 둘 다 값을 바꿀 수 없다는 것을 알 수 있다.
하지만 실행 시켜 보면 const는 에러를 보낸다.

그것의 이유는 final과 const의 상수 할당 타이밍에 있다.

final : 런타임 상수
const : 빌드타임 상수

이기 때문에 const의 경우 빌드타임에 값을 알아야하는데

DateTime.now();

위 코드의 경우 런타임에 값이 반환되는 함수이기 때문이다.

코드를 실행하지 않은 상태에서 값이 확정되면 const를, 실행될 때 확정되면 final을 사용하면 된다는 걸 알 수 있다.

profile
Flutter를 사랑하는 근데 이제 백엔드를 곁들인

0개의 댓글

관련 채용 정보