final은 사전적으로 '최종의, 마지막의'라는 의미를 가진다. 변수(variable), 메서드(method), 클래스(class)에 사용될 수 있으며 어떤 곳에 사용되느냐에 따라 다른 의미를 가진다. 하지만 공통적으로 변경이 불가능하고 확장할 수 없다는 점에서 유사하다. final 키워드가 붙으면 다음과 같은 의미를 가지게 된다. 클래스 - 변경 또는 확장 불가능한 클래스, 상속 불가 메서드 - 오버라이딩 불가 변수 - 값 변경이 불가한 상수 final class FinalEx { // 확장, 상속이 불가능한 클래스 final int x = 1; // 변경되지 않는 상수 final int getNum() { // 오버라이딩이 불가한 메서드 final int localVar = x; // 상수 retur..