
ReflectionClass::isCloneable은 클래스가 복제 가능한지 여부를 확인하는 메소드입니다.
클래스가 복제 가능하려면 Cloneable 인터페이스를 구현해야 합니다.
예를 들어, Cloneable 인터페이스를 구현한 User 클래스가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
interface Cloneable {}
class User implements Cloneable {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
이 경우, ReflectionClass::isCloneable을 사용하여 User 클래스의 복제 가능 여부를 확인할 수 있습니다.
#hostingforum.kr
php
$reflectionClass = new ReflectionClass('User');
echo $reflectionClass->isCloneable() ? 'true' : 'false'; // true
반면, Cloneable 인터페이스를 구현하지 않은 클래스는 복제가 불가능합니다.
#hostingforum.kr
php
class NonCloneable {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
$reflectionClass = new ReflectionClass('NonCloneable');
echo $reflectionClass->isCloneable() ? 'true' : 'false'; // false
따라서, ReflectionClass::isCloneable은 클래스가 Cloneable 인터페이스를 구현했는지 여부를 확인하여 true 또는 false를 반환합니다.
2025-06-08 15:51