
ReflectionClass::isInternal 메소드는 클래스가 내부 클래스인지 확인하는 역할을 합니다. 내부 클래스는 클래스 내부에 정의된 클래스를 말합니다. 내부 클래스는 Outer 클래스의 Inner 클래스와 같이 정의할 수 있습니다.
#hostingforum.kr
php
class Outer {
public static class Inner {}
}
이 경우 Inner 클래스는 내부 클래스입니다. ReflectionClass::isInternal 메소드를 사용하여 Inner 클래스가 내부 클래스인지 확인할 수 있습니다.
#hostingforum.kr
php
$reflectionClass = new ReflectionClass('OuterInner');
if ($reflectionClass->isInternal()) {
echo "Inner 클래스는 내부 클래스입니다.";
} else {
echo "Inner 클래스는 내부 클래스가 아닙니다.";
}
이 메소드는 Inner 클래스가 내부 클래스인지 확인하여 TRUE를 반환합니다.
static 키워드가 있는 내부 클래스는 내부 클래스가 아닙니다. 따라서 ReflectionClass::isInternal 메소드는 static 키워드가 있는 내부 클래스를 내부 클래스로 인식하지 않습니다.
#hostingforum.kr
php
class Outer {
public static class Inner {}
}
$reflectionClass = new ReflectionClass('OuterInner');
if ($reflectionClass->isInternal()) {
echo "Inner 클래스는 내부 클래스입니다.";
} else {
echo "Inner 클래스는 내부 클래스가 아닙니다.";
}
이 메소드는 Inner 클래스가 내부 클래스가 아니므로 FALSE를 반환합니다.
따라서 ReflectionClass::isInternal 메소드는 내부 클래스를 정의할 때 static 키워드가 있으면 내부 클래스로 인식하지 않습니다.
2025-06-17 22:29