
ReflectionMethod::isAbstract 메소드는 메소드가 인터페이스에 선언된 경우에만 true를 반환합니다. 인터페이스에 선언된 추상 메소드는 항상 true를 반환하지만, 클래스에 선언된 추상 메소드는 false를 반환합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
interface MyInterface {
public abstract function myMethod();
}
class MyClass {
public abstract function myMethod();
}
이 경우, 다음 코드를 실행하면 true가 반환됩니다.
#hostingforum.kr
php
$reflectionMethod = new ReflectionMethod('MyInterface', 'myMethod');
var_dump($reflectionMethod->isAbstract()); // true
반면, 다음 코드를 실행하면 false가 반환됩니다.
#hostingforum.kr
php
$reflectionMethod = new ReflectionMethod('MyClass', 'myMethod');
var_dump($reflectionMethod->isAbstract()); // false
이러한 이유로, ReflectionMethod::isAbstract 메소드는 인터페이스에 선언된 추상 메소드만 확인할 수 있습니다.
따라서, ReflectionMethod::isAbstract 메소드를 사용하여 추상 메소드를 확인하고 싶다면, 메소드가 인터페이스에 선언된 경우에만 사용해야 합니다.
2025-07-08 16:33