let, let mut, const는 변경 가능성과 결정 시점이 다르다
값 이름을 붙이는 문법은 비슷하지만, 변경 가능성, 타입 명시, 런타임/컴파일 시점 기준이 다르다.
shadowing 가능
같은 타입 안에서 수정
타입과 값 명시
| 구분 | 의미 | 판단 |
|---|---|---|
| 값 변경 | let mut만 가능 | let은 새 바인딩으로 shadow |
| 타입 명시 | const는 필수 | let은 대개 추론 |
| 범위 | const는 전역/지역 가능 | 컴파일 시 계산 가능해야 함 |
핵심 선택 기준은 값이 나중에 바뀌는지와 그 값이 컴파일 시점에 고정될 수 있는지다.