본문 바로가기

study/dart

다트(dart) final 과 const의 차이

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