언어/Java

[Java] final

샥쿠 2023. 8. 10. 14:10

추상(abstract) 이 상속을 강제하는 것이라면 final상속/변경을 금지하는 규제이다.

final 필드

class Calculator {
    static final double PI = 3.24;
}
  • final로 지정된 필드(변수)에는 한번 값이 할당되면 그 값을 바꿀 수 없다.
  • final 변수에 값을 재할당하면 컴파일 오류가 발생한다.

final 메소드

final 메소드를 상속하려 하면 컴파일 오류가 발생한다.

class A {
    final void b() {}
}

class B {
    void b() {}  // error: overridden method is final
}

final 클래스

final 클래스를 상속하려고 하면 컴파일 오류가 발생한다.

final class C {
    final void b() {}
}

class D extends C {}  // error: cannot inherit from final C

 

참고자료

https://opentutorials.org/course/1223/6145

 

'언어 > Java' 카테고리의 다른 글

[Java] 상속  (0) 2023.08.22
[Java] abstract  (0) 2023.08.10
[Java] 접근 제어자  (0) 2023.08.10
[Java] 클래스와 인스턴스  (0) 2023.08.10