Christmas Pikachu const와 final의 차이
개발일지/Dart

const와 final의 차이

ZI_CO 2022. 11. 6.

const(컴파일 시점) 와 final(런타임 시점)

둘은 값을 한 번 지정하게 되면 바꿀 수 없다는 공통적인 속성을 가지고 있다.

하지만 다른점이 존재하는데 가장 큰 차이점은 생성 시점이라고 볼 수 있다.

 

 

 

// final : 런타임 시점에서 상수가 됨. 현재시각을 알 수 있는건 런타임 시점데서 코드가 실행 되어야 알 수 있기때문이다.
  final DateTime myFinal = DateTime.now(); 
  print(myFinal);

  // const : 컴파일 시점에서 상수가 됨. 컴파일 시점에서 상수가 되는데 런타임 시점에서는 값이 바뀔 수 없기때문에 에러가 난다.
  const DateTime myConst = DateTime.now();  // 에러발생
  print(myConst);

댓글