Flutter

[Dart] Final vs Const

chaenii 2021. 3. 9. 11:37

다트에서 final과 const 키워드를 통해 변수에 설정한 값을 변경할 수 없도록 하는 기능을 제공한다.

final String myName = 'chaewon';
const int studentNumber = 123;

위에서 정의된 myName과 studentNumber은 다른 값으로 변경할 수 없다. 다른 값으로 변경하려고 시도하면 컴파일 오류가 발생한다.

 

final과 const의 차이점

<const> 

컴파일 타임에서 상수를 정의할 수 있다. 즉 const로 정의한 상수는 런타임에서 정의되는 값을 설정할 수 없다.

 

<final>

런타임에서 결정되는 값도 설정할 수 있다.

 

 

예를 들어 DateTime.now()의 경우 런타임에서 함수 호출될 때마다 결과 값이 다르다. 이러한 값은 const로 설정할 수 없다.

final DateTime = DateTime.now(); // 문제 없음
const DateTime = DateTime.now(); // compile error

참고 자료 : medium.com/dartlang-korea/dart-final-%EA%B3%BC-const-bc8c6c024ef4

반응형

'Flutter' 카테고리의 다른 글

[Flutter] Routes & Navigation  (0) 2021.03.09
[Flutter] Extract Widget  (0) 2021.03.09
[Flutter] A RenderFlex overflowed by 58 pixels on the right  (0) 2021.03.04
[Flutter] SafeArea  (0) 2021.02.10
[Flutter] Icon 사진 변경  (0) 2021.02.10