final 제어자 필드, 지역 변수, 메서드, 클래스 앞에 위치할 수 있다. 각 위치마다 의미가 다르다. · final 변수 : 한 번 대입된 값을 수정할 수 없다(변수가 저장한 최종값. 최종 변수) final 필드의 초기화는 반드시 생성자에서 한다. 일반 필드와 달리 강제 초기화되지 않기 때문이다. ※ final 변수에 원래 값을 또 대입해도 될까? final 변수 값을 변경할 때는 값을 기준이 아니라 한 번 대입을 했는지 안했는 지가 초기화할 수 있는 기준이 된다. 값이 동일하던 안하던 필드에 값이 한 번 대입되면 이후에 또 값을 입력하는 행위는 불가하다 · 메모리 구조 필드는 일단 멤버이기 때문에 final이든 아니든 객체 속에 포함되지만 객체 생성 시 final 필드값은 상수 영역에 1개 복사된다..