본문 바로가기

study/dart

Dart_(5) Final variables, Constant variables

1. Final & Const

만일 변수를 한 번 설정하고 다시 바꿀 일이 없다면, var 대신 final 이나 const를 사용하면 된다.

한 번 설정하면 바뀌지 않는 상수와 같은 역할을 한다.

 

void main(){
    final String name = 'sinmat';
    const String name2 = 'sinmat2';
}

 

위와 같이 type 과 함께 사용해도 문제 없다.다만 final과  const의 특성과 쓰임이 조금 다르니 이해하고 넘어가도록 하자.

2. Final variabls (업데이트 불가능한 변수)

일반적으로 Dart 에서 변수를 지정하면 이후에 업데이트가 가능하다.

하지만 필요한 경우에는 한 번 지정된 변수를 변경하지 못하게 해야할 때도 있다.

그럴 때에는 변수를 선언할 때 final을 사용해서 변수를 선언하면 된다.

 

void main(){
    final name = 'sinmat';
    name = 'shaco'; // 오류
}

 

이는 javascript, typescript의 const 와 같다.

 

3. constant variables(상수)

const 는 compile-time variables 이다.

Instance variables는 final이 될 수 있지만 const는 될 수 없다.

 

4. 차이점

final variables는 런타임 도중에 할당될 수 있고

constant variables는 컴파일 전에 미리 할당되어야 한다.

그래서 final variables는 상수라고는 할 수 없는 불변의 변수이며, const variables 는 상수라고 할 수 있다.

 

반응형

'study > dart' 카테고리의 다른 글

Dart_(6) Built-in types(1) <Basic data>  (0) 2024.03.28
Dart_(6) Late variables  (0) 2024.03.21
Dart_(4) null safety(nullable variables)  (0) 2024.03.20
Dart_(3) 변수(variables)  (0) 2024.03.20
Dart_(2) Hello world  (0) 2024.03.20