Final

이하루·2024년 7월 30일

final은 클래스나 메서드의 상속 및 변경을 제한하는 키워드이다.
해당 키워드는 클래스 혹은 메서드에 사용이 가능하며, 아래의 예시처럼 사용이 가능하다.

final class Parent {
	...
}
class Son extends Parent { // NG
	...
}

클래스에 final이 붙은 경우, 해당 클래스를 상속하는 것만으로도 에러가 발생한다.

class Parent {
    public final function method1 () {
    	...
    }
}
class Son extends Parent {
    public function method1 () { // NG
    	...
    }
}

부모 클래스로부터 상속을 받아 final이 붙은 메서드를 재정의(오버라이딩)하면 에러가 발생한다.

profile
어제보다 더 나은 하루

0개의 댓글