Final & Const

dbscks1239·2021년 11월 21일
0

dart language

목록 보기
4/12
post-thumbnail

'final'과 'const'에 입력된 값은 변경할수 없다는 특징을 가지고있다.
하지만 둘은 다르다.
둘의 차이를 이해해야 속성 생성시, 상황에 맞게 적용할 수 있다.
아래 링크를 통해 알아본 'final'과 'const'에 대해 간단히 정리해보고자 한다. https://dart.dev/guides/language/language-tour#final-and-const

final

'final'은 단 한번만 설정할 수 있다. 즉, 한번 설정하면 바꿀 수 없다.
따라서 설정한 값을 변경하면, 오류를 확인할 수 있다.

초기화

'final' 인스턴스는 무조건 초기화를 시켜주어야한다. 초기화를 해주지 않으면 오류가 나는것을 확인할 수 있다.따라서, 'fianl' 필드를 초기화할 수 있는 생성자를 생성하여야 한다.
클래스의 객체를 생성할때, 'final' 필드는 무조건 초기화 되기 때문이다.
즉, 객체 생성시 무조건 'fianl' 필드의 매개변수값을 넣어주어야 한다.
※ 런타임시에, 생성된 객체에 의해 초기화된다. ※

const

'const' 역시 'final'과 마찬가지로 값을 변경하지 못한다.

초기화

'const'는 'compile-time constant'이다. 따라서 'final'과는 달리 컴파일시에 초기화가 되어야한다.
따라서, 다음의 오류가 발생한다.

profile
Flutter 학습 일기

0개의 댓글