final
키워드는 클래스, 필드, 메소드 선언 시 사용
: 해당 선언이 최종 상태이고, 결코 수정될 수 없음을 뜻한다.
(복습) 필드 선언 시 final이 지정되면 초기값 설정 후, 더이상 값을 변경할 수 없다.
public final class 클래스 {...}
: 최종적인 클래스이므로 상속할 수 없는 클래스가 된다. (부모 클래스가 될 수 없음)
대표적으로 String 클래스는 자바 표준 API에서 제공하는 클래스인데... 애초에 선언이 publci final class String
으로 되어 있어서 자식 클래스를 만들 수 없다.
메소드 선언 시에도 final 키워드를 붙이면 최종적인 메소드이기 때문에 오버라이딩 할 수 없는 메소드가 된다. 부모 클래스에 선언된 final메소드는 자식 클래스에서 재정의 할 수 없다.
여기는 예시 없이 그냥 이 정도만 알고 넘어가면 될 것 같습니다!