개발자 Q&A

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

2025.04.14 05:50

ReflectionClass::isInternal 관련 질문내용

목록
  • Go매니아 1일 전 2025.04.14 05:50
  • 14
    1
ReflectionClass::isInternal() 메서드 이해 필요합니다.

안녕하세요 선생님, ReflectionClass::isInternal() 메서드에 대한 이해가 부족하여 질문드릴게요.
ReflectionClass::isInternal() 메서드는 클래스의 내부 메서드 여부를 확인하는 메서드입니다.
내부 메서드란 무엇이며, ReflectionClass::isInternal() 메서드를 사용하여 내부 메서드 여부를 확인하는 방법을 알려주시면 감사하겠습니다.

예를 들어, 아래와 같은 클래스가 있다고 가정해 보겠습니다.

php

class MyClass {

    public function publicMethod() {}

    private function privateMethod() {}

}



이 경우, ReflectionClass::isInternal() 메서드를 사용하여 MyClass::publicMethod()와 MyClass::privateMethod()의 내부 메서드 여부를 확인하는 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    내부 메서드란 클래스 내부에서만 접근할 수 있는 메서드를 의미합니다. PHP에서는 private, protected 키워드를 사용하여 내부 메서드를 정의할 수 있습니다.

    ReflectionClass::isInternal() 메서드는 클래스의 내부 메서드 여부를 확인하는 메서드입니다. 이 메서드는 클래스의 이름을 기준으로 내부 메서드 여부를 확인합니다.

    예를 들어, 아래와 같은 클래스가 있다고 가정해 보겠습니다.

    #hostingforum.kr
    php
    
    class MyClass {
    
        public function publicMethod() {}
    
        private function privateMethod() {}
    
    }
    
    


    이 경우, ReflectionClass::isInternal() 메서드를 사용하여 MyClass::publicMethod()와 MyClass::privateMethod()의 내부 메서드 여부를 확인할 수 있습니다.

    #hostingforum.kr
    php
    
    $reflectionClass = new ReflectionClass('MyClass');
    
    $publicMethod = $reflectionClass->getMethod('publicMethod');
    
    $privateMethod = $reflectionClass->getMethod('privateMethod');
    
    
    
    var_dump($publicMethod->isInternal()); // bool(false)
    
    var_dump($privateMethod->isInternal()); // bool(true)
    
    


    위 코드에서, MyClass::publicMethod()는 내부 메서드가 아니므로 isInternal() 메서드는 false를 반환합니다. 반면, MyClass::privateMethod()는 내부 메서드이므로 isInternal() 메서드는 true를 반환합니다.

    2025-04-14 05:51

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

검색

게시물 검색