카테고리 없음
[PHP]final에 대하여
SEUNGSAMI
2019. 1. 28. 10:38
final
전에 설명했던 abstract이 상속을 강제하는 것이라면 final은 상속/변경을 금지하는 규제이다. 간단히 말해 실행되는 과정에서 한번 값이 정해진 이후에는 변수내의 값이 바뀌지 않도록 하는 규제이다. 아래의 두개의 예제는 전부 오류가 발생하는 예제이다.class A{ final function b(){} } class B extends A{ b(){} }위의 예제의 경우 final 메소드인 b를 B클래스에서오버라이딩하려하기 때문에 오류가 발생한다.
final class C{ final function b(){} } class D extends C{}이경우에도 마찬가지로. final 클래스인 C를 extends를 통해 상속받으려 하고 있기 때문에 오류가 발생한다.
배운지 얼마 되자 않은 지식이라 잘못된 부분이 있을 수있습니다. 그러한 것은 댓글로 달아주시면 감사하겠습니다.