값이 바뀌지 않는다는 걸 명시하는 두 키워드. 성능과 직결된다. (일반 개념)

final vs const

의미 정해지는 시점
final 한 번 대입하면 못 바꿈 실행 중(런타임)
const 해당 값이 컴파일 때 이미 고정 컴파일 타임
final now = DateTime.now();   // 값은 실행해봐야 알지만, 한 번 정해지면 고정
const pi = 3.14;              // 컴파일 때부터 고정

JS에선 둘 다 const로 묶지만, Dart는 "런타임 고정(final)"과 "컴파일 고정(const)"을 구분한다.

const 위젯 = 성능 최적화

위젯에 const를 붙이면, Flutter가 **"이 위젯은 절대 안 바뀌니 다시 안 그려도 된다"**고 판단해 재빌드를 건너뛴다.

const Text("고정 텍스트")           // 재빌드 시 재사용
const SizedBox(height: 16)          // 값이 고정된 위젯은 const

React의 memo와 비슷한 효과 — 변하지 않는 부분을 다시 그리지 않게 한다. 그래서 팀 규칙도 "가능하면 const 를 붙여라"이다.