
__toString() 메서드는 Reflection 클래스의 인스턴스에 대한 문자열 표현을 반환합니다.
예를 들어, ReflectionClass 인스턴스를 생성하고 __toString() 메서드를 호출하면, 해당 클래스의 이름이 문자열로 반환됩니다.
#hostingforum.kr
php
$reflectionClass = new ReflectionClass('stdClass');
echo $reflectionClass->__toString(); // stdClass
또한, ReflectionMethod 인스턴스를 생성하고 __toString() 메서드를 호출하면, 해당 메서드의 이름이 문자열로 반환됩니다.
#hostingforum.kr
php
$reflectionMethod = new ReflectionMethod('stdClass', 'construct');
echo $reflectionMethod->__toString(); // stdClass::construct
__toString() 메서드는 주로 디버깅이나 로깅 목적으로 사용됩니다.
예를 들어, Reflection 클래스의 인스턴스를 문자열로 출력할 때 사용할 수 있습니다.
#hostingforum.kr
php
$reflectionClass = new ReflectionClass('stdClass');
echo '클래스 이름: ' . $reflectionClass->__toString(); // 클래스 이름: stdClass
__toString() 메서드는 반드시 오버라이딩해야 하는 메서드가 아닙니다.
하지만, Reflection 클래스의 인스턴스를 문자열로 표현할 때 사용하는 경우가 많기 때문에, 오버라이딩하는 경우가 있습니다.
예를 들어, ReflectionClass 인스턴스를 오버라이딩하여, 클래스 이름에 추가 정보를 포함하는 경우가 있습니다.
#hostingforum.kr
php
class MyReflectionClass extends ReflectionClass {
public function __toString() {
return 'My ' . parent::__toString();
}
}
$reflectionClass = new MyReflectionClass('stdClass');
echo $reflectionClass->__toString(); // My stdClass
2025-06-27 22:17