개발/Flutter

Flutter Dart final, const, val 생략, DateTime, final과 const 차이점

지식드림 2023. 7. 14.

final, const, val 생략, DateTime, final과 const 차이점

final, const를 사용하면 

var 키워드를 생략할 수 있음
 
 final 가장 앞에 선언한다
 final을 선언하게 되면, 그 이후로 변수의 값을 변경하지 못함
 
 const 가장 앞에 선언한다.
 const를 선언하게 되면, 그 이후로 변수의 값을 변경하지 못함
 
 final, const 차이점을 알아보기 전에 DateTime을 알아야 됨
 시간과 날짜를 저장할 수 있는 데이터타입임
 
 final, const 차이점
 final 빌드 타임의 값을 몰라도 됨

> 변수의 값이 컴파일 타임에 결정되지 않음


 const 빌드 타임의 값을 알고 있어야 함

> 변수의 값을 컴파일 타임에 결정됨

 

 

 

final과 const의 차이점

final과 const 키워드는 모두 변수를 선언할 때 사용되는 키워드이지만, 두 키워드에는 몇 가지 차이점이 있습니다.
final 키워드를 사용하면 변수의 값을 런타임에 변경할 수 있습니다.
const 키워드를 사용하면 변수의 값을 컴파일 타임에 변경할 수 있습니다.
final 키워드를 사용하면 변수의 값을 변경할 수 없도록 하여 오류를 방지할 수 있습니다.
const 키워드를 사용하면 변수의 값을 컴파일 타임에 결정할 수 있어 코드의 성능을 향상할 수 있습니다.

 

 

 

final과 const를 사용하는 팁

final 키워드를 사용하면 변수의 값을 변경할 수 없도록 하여 오류를 방지할 수 있습니다.
const 키워드를 사용하면 변수의 값을 컴파일 타임에 결정할 수 있어 코드의 성능을 향상시킬 수 있습니다.
final 키워드와 const 키워드를 사용할 때는 변수의 값이 변경될 가능성이 있는지 확인해야 합니다.
final 키워드와 const 키워드를 사용할 때는 변수의 값이 컴파일 타임에 결정될 수 있는지 확인해야 합니다

 

 

실습

void main() {
  //final, const
  final String name='지식드림';
  print(name);
  
  const String name2='블로그';
  print(name2);
  
  //final, const를 사용하면 var 키워드를 생략할수있음
  final name3='지식드림';
  print(name3);
  
  const name4='블로그';
  print(name4);
  
  //DateTime, 시간과 날짜를 저장할수있는 데이터타입
  // 현재시간을 저장할수있음, 
  //시간은 누른 순간이 아닌 코드가 실행되는 순간의 시간임
  
  final DateTime now = DateTime.now(); 
  print(now);
  
  //const만 에러가 남 빌드타임을 알아야하는데 모르기때문
  //const DateTime now2 = DateTime.now(); 
  //print(now2);
}

결과

댓글