const와 final의 공통점은 변하지 않는 값입니다.
const 변수를 새로 정의하거나 추가, 삭제하는 행위 모두 불가능합니다.
절대 변하지 않는 값을 의미하므로 색상, 폰트크기 등 고정적인 값에 사용됩니다.
rebuild 될 경우에도 불필요하게 값이 바뀌지 않아 속도가 빨라집니다.
컴파일 단계에서 값이 대입됩니다.
final 변수 자체에 새로운 값이 설정되는 것은 불가능하지만,
배열일 경우 값을 추가하거나 삭제하는 것은 가능합니다.
상황에 따라 변할 수 있기 때문에 constructor에서 변수를 선언할 때 사용됩니다.
실행 단계에서 값이 대입됩니다.
정리
- const > final : final보다 const가 불변의 강도가 강하다.
- final 변수가 배열일 경우 값을 추가, 삭제할 수 있다.