Java의 final 클래스
이 튜토리얼은 예제를 통해 final
클래스의 주제를 살펴봅니다. final
은 변수, 메서드 및 클래스와 함께 다양한 컨텍스트에서 사용할 수 있는 Java의 키워드입니다.
모든 컨텍스트에서 액세스를 어느 정도 제한합니다. 최종 수업에 대해 논의할 것입니다.
final
클래스를 사용하여 Java에서 클래스 제한
final
키워드가 있는 클래스를 최종 클래스라고 합니다. 클래스와 함께 final
키워드를 사용하여 클래스가 다른 클래스에 상속되도록 제한합니다.
확장을 확보하고 싶을 때 클래스를 final로 만듭니다. 최종 클래스는 변경할 수 없고 변경할 수 없기 때문에 장점 중 하나는 보안입니다.
아래 예제에는 두 개의 클래스가 있습니다. 첫 번째 클래스 ExampleClass1
에는 main()
메서드가 있고 두 번째 클래스 ExampleClass2
에서는 final
키워드를 사용하여 최종 클래스로 만듭니다.
ExampleClass1
에서 extends
키워드를 사용하여 ExampleClass2
를 확장하면 최종 클래스를 상속할 수 없다는 출력 오류가 발생합니다.
class ExampleClass1 extends ExampleClass2 {
public static void main(String[] args) {}
}
final class ExampleClass2 {
int abc = 30;
}
출력:
java: cannot inherit from final com.tutorial.ExampleClass2
최종 클래스를 확장할 수는 없지만 클래스의 속성이나 메서드에 액세스하려면 어떻게 해야 할까요?
final
키워드를 사용하는 경우 클래스를 확장할 수 없지만 해당 객체를 생성하여 해당 함수와 변수에 액세스할 수 있습니다.
예제에는 두 개의 클래스가 있습니다. 하나는 최종 클래스 ExampleClass2
이고 다른 클래스 ExampleClass1
은 main()
메서드를 실행하는 데 필요합니다.
ExampleClass2
클래스의 객체를 생성하고 정수 변수 abc
값을 출력합니다.
여기서 상속을 사용하지 않기 때문에 final일 때도 클래스와 해당 변수에 액세스할 수 있습니다.
class ExampleClass1 {
public static void main(String[] args) {
ExampleClass2 exampleClass2 = new ExampleClass2();
System.out.println(exampleClass2.abc);
}
}
final class ExampleClass2 {
int abc = 30;
}
출력:
30
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn