본문 바로가기
IT/flutter

flutter | final ? const?| 문법 정리

by 신도리아 2021. 10. 14.

const & final 의 공통점

  • 둘 다 "상수"

선언 방법

final string a = "final";

const string b = "const";

 

이후에

 

a = "final2";

b = "const2";

이와 같이

값을 변화시키려고 하면 에러가 난다.

why? const < final 을 더 많이 쓸까?

- 의사결정의 스트레스를 줄이기 위해 바로 선언되는 final 사용

And => 영상에서 아래 구문에서 에러가 났는데

const int myConst = 5;

[Only static fields can be declared as const.] 라고 에러 메세지가 나왔다.

const가 사용되는 곳

  • top level
  • static
  • local
    → 이는 const 인스턴스 필드가 없음을 의미한다

특징

  • final은 런타임 때 값 할당, const는 컴파일 단계에서 값 할당

const는 같은 상수를 호출할때 매번 다른 인스턴스 초기화를 하지 않음 기준이 되는 한개의 인스턴스 (canonical instance)만 초기화 한다음 다른 곳에서는 재사용 ← 이게 포인트인듯


출처: https://forum.idevkang.io/t/dart-const-final/105/2

 

Dart의 "const"는 "final"과 어떻게 다르고, 언제 사용하나요?

const & final 공통점 둘 다 상수다 선언 방법 final string a = "final"; const string b = "const"; 이후에 a = "final2"; b = "const2"; 등과 같이 값을 변화시키려고 하면 에러가 남 강의에서는 final을 더 많이 쓴다고 한

forum.idevkang.io

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

 

[Dart] final 과 const

변수에 설정한 값을 변경하지 못하도록 하기 위해서는 어떻게 해야 할까? 다트에서는 final 과 const 라는 키워드를 통해 불변하는 값을 설정할 수 있다.

medium.com