인스턴스 필드와 정적 필드는 언제든지 값을 변경할 수 있다. 그러나 경우에 따라 값을 변경하는 것을 막고 읽기만 허용해야 할 때가 있다. 이때 final 필드와 상수를 선언해서 사용한다.
final 타입 필드 [=초기값]
객체마다 저장할 필요가 없고(static), 변경이 불가능한(final) 수, 정적 필드이므로 클래스로 접근해서 읽을 수 있다.
=> 변경할 수 없는 정적 필드
상수 선언 방법
static final 타입 상수 [=초기값]
static final 타입 상수;
static {
상수 = 초기값
}