반응형
[Dart 다트] 상수 - const와 final 차이점
목차
- 상수
- const
- final
1. 상수
상수는 초기값 설정 이후 그 값을 변경할 수 없는 변수를 말하며, 상수가 되는 시점에 따라 컴파일시 결정되는 const 상수와 런타임에 결정되는 final 상수가 있습니다.
1) const
- const는 컴파일 타임에 상수 지정시 사용합니다.
- 변수 선언과 동시에 초기값을 지정해야 합니다.
- 초기값 이후에는 값을 변경할 수 없습니다.
- (주의사항) class안에서 const 사용시에는 static 변수로 사용해야 합니다.
왜냐하면, const는 컴파일 타임에 상수값이 지정되고 이후에는 변경할 수 없기 때문에, 객체가 생성될때마다 고유하게 존재하는 인스턴스 변수로는 사용할 수 없고, 클래스가 메모리에 로드될 때 한번만 초기화 하여 모든 인스턴스가 공유되어 사용하는 클래스 수준의 static 변수로만 사용 가능합니다.
const int a = 1;
class MyData {
static const int b = 2; // class 안에서 static const 변수로 사용함
void display() {
const int c = 3;
}
}
2) final
- final은 런타임에 상수 지정시 사용합니다.
- 변수 선언과 동시에 초기값을 꼭 지정할 필요는 없습니다.
- 초기값 설정 이후에는 값을 변경할 수 없습니다.
final int a = 1;
class MyData {
final int b = 2;
void display() {
final int c = 3;
}
}
반응형
'IT 개발 > Dart' 카테고리의 다른 글
[Dart 다트] 데이터 타입 및 타입변환 (자료형 및 형변환) (0) | 2025.01.10 |
---|