개발자 Q&A

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

2025.03.11 12:42

ReflectionClassConstant::isProtected 관련 질문

목록
  • C++장인 14일 전 2025.03.11 12:42
  • 12
    1
제가 ReflectionClass를 사용하여 클래스 상수에 접근할 때, isProtected 메소드를 호출하여 상수 보호 여부를 확인하고자 하며, 이 메소드가 정확히 어떤 기준으로 상수를 보호하는지 궁금합니다.

또한, 이 메소드가 반환하는 결과가 참(true)인 경우, 상수가 실제로 보호되었는지 확인하고 싶습니다.

해당 메소드의 동작 원리를 알려주시거나, 예시 코드를 제공해주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  14일 전



    ReflectionClass::isProtected 메소드는 클래스 상수가 protected 접근 제어자로 선언되었는지 확인합니다.

    이 메소드는 클래스 상수가 protected 접근 제어자로 선언되었을 때 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.

    예시 코드:

    #hostingforum.kr
    php
    
    use ReflectionClass;
    
    
    
    class MyClass {
    
        public const MY_PUBLIC_CONSTANT = 'public';
    
        protected const MY_PROTECTED_CONSTANT = 'protected';
    
        private const MY_PRIVATE_CONSTANT = 'private';
    
    }
    
    
    
    $reflectionClass = new ReflectionClass(MyClass::class);
    
    
    
    echo var_dump($reflectionClass->getConstant('MY_PUBLIC_CONSTANT')->isProtected()) . "n"; // false
    
    echo var_dump($reflectionClass->getConstant('MY_PROTECTED_CONSTANT')->isProtected()) . "n"; // true
    
    echo var_dump($reflectionClass->getConstant('MY_PRIVATE_CONSTANT')->isProtected()) . "n"; // false
    
    


    위 예시 코드에서, MY_PUBLIC_CONSTANT은 public 접근 제어자로 선언되어 있으므로 isProtected 메소드는 false를 반환합니다. MY_PROTECTED_CONSTANT은 protected 접근 제어자로 선언되어 있으므로 isProtected 메소드는 true를 반환합니다. MY_PRIVATE_CONSTANT은 private 접근 제어자로 선언되어 있으므로 isProtected 메소드는 false를 반환합니다.

    2025-03-11 12:43

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

검색

게시물 검색