Flutter/Dart 문법

[Dart] final과 const차이

Chafle 2023. 3. 21. 16:43
반응형

 final & const의 공통점
1. 변수 선언 한 후에 값을 변경 할 수 없다.
2. var 기능까지 포함되어 있다.
  
  final & const의 차이점
 - final은 빌드타임의 값을 몰라도 된다.
 - const는 빌드타임의 값을 알아야 쓸 수 있다.

 

 

 

final name = 'ming';
  
  print(name);
  
  const name2 = 'cha';
    
  print(name2);
    
  
 final DateTime now = DateTime.now();
  
  print(now)
  
 const DateTime now2 = DateTime.now(); // error발생

 

 

 


const의 특징

 

void main() {

Hansoom hansoom1 = Hansoom(
    '한숨팟',
    ['차', '밍', '똥', '똥철'],
  );
Hansoom hansoom2 = Hansoom(
    '한숨팟',
    ['차', '밍', '똥', '똥철'],
  );
}



class Hansoom {
  final String name;
  final List<String> members;

  const Hansoom(this.name, this.members);
  Hansoom.fromList(List values)
      : this.members = values[0],
        this.name = values[1];

}

위에 코드에서 hansoom1과 hansoom2가 다른 인스턴스다.

 

 

하지만 앞에 const를 붙이면

 

인스턴스가 같아진다......

반응형

'Flutter > Dart 문법' 카테고리의 다른 글

[Dart] While, Do-While loop  (0) 2023.03.21
[Dart] for loop  (0) 2023.03.21
[Dart] if문과 switch문  (0) 2023.03.21
[Dart] List, Set, Map에 관하여 간단하게  (0) 2023.03.21
[Dart] ??= 오퍼레이터의 의미  (0) 2023.03.21