앱 개발 공부방

flutter - dart문법 final const 차이 본문

FLUTTER

flutter - dart문법 final const 차이

춘행이 2023. 11. 30. 10:56
728x90

final, const 키워드는 변수의 값을 처음 선언 후 변경할 수 없는 특징이 있습니다

void main(){
const int exConst = 5;
final int exFinal = 4;

exConst = 6; //에러!
exFinal = 7; //에러!
}

const로 선언된 exConst, final로 선언된 exFinal 둘다 선언 후 값을 변경할 수 없으므로 에러가 나옵니다

 

하지만 차이점으로 final은 런타임, const는 빌드타임 상수입니다

void main(){

final DateTime finalDate = DateTime.now();
 
const DateTime constDate = DateTime.now();//에러!

}

위처럼 DateTime.now() 함수는 now()가 실행되는 순간 오늘 날짜를 받아오는건데 정리하자면 실행을 해봐야 값을 알 수 있는 런타임 입니다

그러므로 런타임 상수인 final에선 에러가 안나고 빌드타임 상수인 const에선 에러가 발생한다

 

코드를 실행하지 않은 상태에서 값이 확정되면 const를, 실행될 때 확정되면 final을 사용하자!

728x90

'FLUTTER' 카테고리의 다른 글

flutter - Null Safety  (0) 2023.12.05
flutter - dart문법 상속  (0) 2023.11.30
Flutter 상태관리(provider)  (1) 2022.12.06
Flutter - firebase 이메일 로그인, 회원가입  (0) 2022.03.22
Flutter - firebase 앱 연동  (0) 2022.03.21
Comments