개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.07 05:12

ReflectionClass::isFinal에 대한 질문입니다.

목록
  • 해커랭크매니아 11일 전 2025.07.07 05:12
  • 25
    1
ReflectionClass::isFinal 메서드 이해를 도와주세요.

저는 ReflectionClass::isFinal 메서드에 대한 이해가 부족합니다.
이 메서드는 클래스가 최종 클래스인지 여부를 확인하는 것인지요.
그런데 이 메서드가 동작하는 방식에 대해 궁금합니다.
클래스가 최종 클래스인 경우 true를 반환하고, 그렇지 않은 경우 false를 반환하는 것인지요?
또한, 클래스가 최종 클래스인지 확인하는 기준은 무엇인지 궁금합니다.

ReflectionClass::isFinal 메서드의 동작 원리를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  11일 전



    ReflectionClass::isFinal 메서드는 클래스가 최종 클래스인지 여부를 확인하는 메서드입니다.

    클래스가 최종 클래스인 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.

    클래스가 최종 클래스인지 확인하는 기준은 클래스가 상속을 받지 않고, 인터페이스를 구현하지 않는 경우에 해당합니다.

    예를 들어, 다음 코드를 살펴보겠습니다.

    #hostingforum.kr
    php
    
    class FinalClass {}
    
    
    
    class NonFinalClass extends FinalClass {}
    
    
    
    class InterfaceClass implements Interface {}
    
    
    
    interface Interface {}
    
    
    
    $reflectionClass1 = new ReflectionClass('FinalClass');
    
    echo $reflectionClass1->isFinal() ? 'true' : 'false'; // true
    
    
    
    $reflectionClass2 = new ReflectionClass('NonFinalClass');
    
    echo $reflectionClass2->isFinal() ? 'true' : 'false'; // false
    
    
    
    $reflectionClass3 = new ReflectionClass('InterfaceClass');
    
    echo $reflectionClass3->isFinal() ? 'true' : 'false'; // false
    
    


    위 코드에서 FinalClass는 최종 클래스이므로 ReflectionClass::isFinal 메서드는 true를 반환합니다. 반면 NonFinalClass와 InterfaceClass는 최종 클래스가 아니므로 false를 반환합니다.

    2025-07-07 05:13

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,027건 / 5 페이지

검색

게시물 검색