
내부 메서드란 클래스 내부에서만 접근할 수 있는 메서드를 의미합니다. 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