Search
Duplicate

[Flutter] const vs final

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
Flutter
Scrap
태그
9 more properties

const와 final의 공통점은 뭘까

한 번 값을 대입하면 변경할 수 없음

그렇다면 차이점은 뭔데

final

런 타임에서 상수를 정의

const

컴파일 타임에서 상수를 정의
final 은 소스 실행 중 한번 설정 이후로 값이 변하지 않는 것이고, const 는 컴파일 결정이 되기 때문에 소스 실행 중에는 재정의가 될 수 없음을 의미한다.

final로 다 쓰면 편한 거 아닌가..왜 쓰는거지

결론은 최적화 때문이다.
const의 경우, 컴파일 타임에 결정되기 때문에 앱을 생성할때 한 번 만 생성을 하게 된다. 따라서 특정 화면이 리렌더링이 된다고 하였을 경우, 항상 같은 내용을 표시해주는 경우에는const로 정의가 되어 있으면 재생성 하는 것이 아니라 내부 리소스 낭비를 막아줄 수 있다.

참고자료