final 과 const 차이

final

한번 값을 대입하면 변경할 수 없다.

실행 중에 값이 결정

final String choose = "볶음밥";

void main(){
    print(choose)
    choose = "짬뽕"; // 에러
}

const

한번 값을 대입하면 변경할 수 없다.

컴파일 할 때 값이 결정된다.

const String choose = "볶음밥";

void main(){
    print(choose)
    choose = "짬뽕"; // 에러
}

예시

어떤 프로그램이 실행될 때 시간에 대한 로그 남기고 싶음

var log = DateTime.now()
final var log = DateTime.now()

const var log = DateTime.now() // 에러

언제 실행될지 모르니 실행 중 값이 결정되는 final은 오류가 안나지만 컴파일할 때 값이 결정되는 const는 오류

참고

https://www.youtube.com/watch?v=QV_yNEay5qo&list=PL93mKxaRDidGEaUXprXqhNvSW02xCjLZI&index=13

 

728x90

'Study > Dart' 카테고리의 다른 글

[Dart] 접근지정자, 생성자, getter, setter  (0) 2021.06.04
[Dart] 클래스  (0) 2021.06.04
[Dart] 반복문과 깊은 복사  (0) 2021.06.04
[Dart] 익명함수와 화살표 함수  (0) 2021.06.04
[Dart] 메서드(함수)  (0) 2021.06.03

+ Recent posts