
ReflectionClass::getInterfaces 메서드는 클래스가 implements한 인터페이스 목록을 반환하도록 설계되었습니다. 하지만, 인터페이스를 implements한 클래스에서 이 메서드를 호출하면 빈 배열이 반환됩니다.
이러한 이유는 ReflectionClass::getInterfaces 메서드가 클래스의 인터페이스 목록을 반환하도록 설계되었기 때문입니다. 인터페이스를 implements한 클래스의 인터페이스 목록은 반환되지 않습니다.
예를 들어, 다음 코드를 보겠습니다.
#hostingforum.kr
php
interface A {
public function test();
}
class B implements A {
public function test() {
echo "B::test() 호출";
}
}
$reflection = new ReflectionClass('B');
$interfaces = $reflection->getInterfaces();
print_r($interfaces);
위 코드에서 B 클래스는 인터페이스 A를 implements했습니다. 하지만, ReflectionClass::getInterfaces 메서드를 호출했을 때 빈 배열이 반환됩니다.
이러한 현상은 ReflectionClass::getInterfaces 메서드가 인터페이스 목록을 반환하도록 설계되었기 때문입니다. 인터페이스를 implements한 클래스의 인터페이스 목록은 반환되지 않습니다.
따라서, 인터페이스를 implements한 클래스에서 ReflectionClass::getInterfaces 메서드를 호출하면 빈 배열이 반환됩니다.
이러한 특성은 ReflectionClass::getInterfaces 메서드를 사용할 때 유의해야 합니다.
2025-06-27 14:05