
ReflectionClass::isReadOnly 메서드는 객체의 속성이 읽기 전용으로 설정되었는지 여부를 확인합니다.
위 코드에서 `$reflection->isReadOnly('getReadOnlyProperty')`의 결과는 `bool(false)`입니다.
이유는 `getReadOnlyProperty` 메서드가 객체의 속성을 읽기 전용으로 설정하지 않았기 때문입니다.
`getReadOnlyProperty` 메서드는 객체의 속성을 반환하는 역할을 하지만, 속성을 읽기 전용으로 설정하는 역할은 하지 않습니다.
따라서 `$reflection->isReadOnly('getReadOnlyProperty')`의 결과는 `false`로 반환됩니다.
객체의 속성을 읽기 전용으로 설정하려면 속성을 `readonly`로 선언하거나, `final` 키워드를 사용하여 속성을 읽기 전용으로 설정할 수 있습니다.
예를 들어, 다음 코드를 살펴보십시오.
#hostingforum.kr
php
class Sample {
private readonly $readOnlyProperty;
public function __construct() {
$this->readOnlyProperty = '읽기 전용 속성';
}
public function getReadOnlyProperty(): string {
return $this->readOnlyProperty;
}
}
위 코드에서 `$reflection->isReadOnly('getReadOnlyProperty')`의 결과는 `bool(true)`입니다.
이유는 `getReadOnlyProperty` 메서드가 객체의 속성을 읽기 전용으로 설정했기 때문입니다.
`readonly` 키워드를 사용하여 속성을 읽기 전용으로 설정함으로써, 속성이 읽기 전용으로 설정되었는지 여부를 정확하게 확인할 수 있습니다.
2025-04-19 16:51