Java
Final
에어팟맥스
2022. 6. 25. 23:17
field 에 final 이 붙으면 더이상 새로운 값으로 할당할 수 없다.
public final double PI = 3.141592;
public void greeting() {
System.out.println("== 안녕하세요 ==");
}
메소드에 final 을 붙이면 자식 클래스에서 메소드의 overriding(재정의)을 할 수 없게 된다.
public final void rule() {
System.out.println("== Hi ==");
}
#### Main ####
public static void main(String[] args) {
Final_test_1 ft1 = new Final_test_1();
ft1.id = "leess";
ft1.name = "이순신";
// ft1.PI = 234.34343; // final이므로 새로운 값을 할당할 수 없기에 오류 발생
////////////////////////////////////////////////////////
Child_final_test_1 child = new Child_final_test_1();
child.greeting();
child.rule();
}
final 로 되어진 클래스는 다른 클래스로 상속해줄 수 없다.
즉, final 로 되어진 클래스는 다른 클래스에서 부모 클래스로 사용할 수 없다는 말이다.
public final class Final_test_2 {
String id;
String name;
public void example() {
System.out.println("== 연습입니다. ==");
}
}
public class Child_final_test_2 extends Final_test_2 {
// Final_test_2 클래스가 final 클래스 이므로 상속받을 수 없다.
}