
ReflectionMethod::isPublic 메소드는 메소드가 public 인지 아닌지를 확인하는 메소드입니다. 이 메소드는 메소드의 접근제어자를 확인하는 것이 아니라, 메소드가 public 인지 아닌지를 확인하는 것입니다.
public 메소드는 외부에서 호출할 수 있는 메소드입니다. private 메소드는 외부에서 호출할 수 없는 메소드입니다. 하지만, ReflectionClass를 사용하여 private 메소드를 호출할 수는 있습니다.
따라서, ReflectionMethod::isPublic 메소드는 private 메소드의 경우 false를 반환하는 것이 맞습니다. 하지만, 위 코드에서 private 메소드의 경우 true를 반환하는 것을 볼 수 있습니다. 이는 PHP 7.0 이상에서 ReflectionMethod::isPublic 메소드가 변경된 결과입니다. PHP 7.0 이상에서는 private 메소드의 경우 true를 반환합니다.
이러한 변경은 PHP 7.0에서 Reflection API가 개선되면서 발생했습니다. 이전 버전의 PHP에서는 private 메소드의 경우 false를 반환했습니다. 하지만, 현재 버전의 PHP에서는 private 메소드의 경우 true를 반환합니다.
따라서, private 메소드는 접근제어자가 private 인 것입니다. 하지만, ReflectionMethod::isPublic 메소드는 private 메소드의 경우 true를 반환하는 것을 볼 수 있습니다.
2025-07-09 10:01