[플러터]Dart 문법 - final과 const

송송승현's avatar
Dec 20, 2024
[플러터]Dart 문법 - final과 const
Contents
finalconst
// 1. 상수 데이터 초기화 const primaryColor = "green"; // 컴파일 시점에 초기화, 타입 생략 가능(var로 정의) final secondaryColor = "red"; // 런타임 시점에 초기화, 타입 생략 가능(var로 정의) class Button { final String text; const Button(this.text); // Button클래스 생성자는 const로 선언 } void main() { Button b1 = const Button("로그인"); // const 생성자를 사용하여 생성, 동일한 인스턴스가 생성 Button b2 = const Button("로그인"); // 두 객체의 해시 코드 값이 동일 print(b1.hashCode); print(b2.hashCode); }

final

  • 무조건 초기화 실행
  • 변수를 초기화한 후 값을 변경할 수 없음을 의미
  • 런타임 시점에 초기화
  • 타입 생략이 가능(var로 정의)
  • 한 번만 설정되어야 하지만, 런타임 시에 설정 될 수 있는 값
  • 클래스 내에서는 인스턴스 변수로 사용, 객체가 생성될 때 초기화
  • 클래스 외부에서는 전역 변수나 지역 변수로 사용

const

  • 컴파일 시점에 상수로 평가
  • 값이 절대 변경되지 않음을 의미
  • 모든 인스턴스에서 동일할 값을 가짐
  • 불변의 상수 값, 컴파일 시에 설정되어야하는 값
  • 클래스 내에서는 정적 상수로 사용
 
Share article

송승현의 블로그