개발자 Q&A

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

2025.06.27 03:04

ReflectionMethod::setAccessible 관련 질문

목록
  • 제로데이헌터 21시간 전 2025.06.27 03:04 새글
  • 9
    1
제가 ReflectionMethod::setAccessible를 사용하여 private 메서드를 호출하려고 하는데, 아래와 같은 오류가 발생하고 있습니다.

php

ReflectionMethod::setAccessible($reflectionMethod, true);



이때, setAccessible를 사용하여 private 메서드를 호출하는 것은 안전한가요?
그리고 setAccessible를 사용하여 private 메서드를 호출할 때, 어떤 이점이 있나요?

위의 오류를 해결하고 싶은데, 어떻게 해야 하나요?

    댓글목록

    profile_image
    나우호스팅  21시간 전



    ReflectionMethod::setAccessible를 사용하여 private 메서드를 호출하는 것은 안전하지 않습니다. private 메서드는 클래스 내부에서만 호출할 수 있도록 설계되었기 때문입니다.

    이 메서드를 호출하는 이점은 클래스 내부에서만 호출할 수 있는 private 메서드를 테스트하는 데 사용할 수 있다는 것입니다.

    위의 오류를 해결하기 위해서는 ReflectionMethod::setAccessible를 사용하여 private 메서드를 호출할 수 있도록 설정한 후, 해당 메서드를 호출하는 코드를 작성하면 됩니다.

    #hostingforum.kr
    php
    
    $reflectionMethod = new ReflectionMethod('클래스명', 'private메서드명');
    
    $reflectionMethod->setAccessible(true);
    
    $result = $reflectionMethod->invoke($객체);
    
    


    이 코드를 사용하여 private 메서드를 호출할 수 있습니다.

    2025-06-27 03:05

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

검색

게시물 검색