final 변수 : 값을 더 이상 변경할 수 없는 상수
final 메서드 : 내용을 더이상 변경할 수 없는 메서드, 오버라이딩 불가
final 클래스 : 내용을 더이상 변경할 수 없는 클래스, 상속 불가
package chapter20230825;
final class FinalClass {
final int number = 4; // 상수
}
class Parents { /* extends FinalClass */ // 상속 받으려 하면 에러 발생
final void finalMethod() { // 오버라이딩 불가한 메서드
System.out.println("상속 불가한 메서드");
}
}
class Son extends Parents {
// void finalMethod() {} // 메서드 오버라이딩 하려면 에러발생
}
public class test01 {
public static void main(String[] args) {
FinalClass member1 = new FinalClass();
System.out.println(member1.number);
// member.number = 5; // 5로 상수를 변경하고 싶지만 변경 불가
}
}