개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.11 14:34

ReflectionProperty::getDefaultValue 질문

목록
  • Azure마스터 1일 전 2025.05.11 14:34
  • 2
    1
제가 ReflectionProperty::getDefaultValue를 사용하여 기본값을 가져오려고 하는데, 이 메서드는 언제 null을 반환할까요?

예를 들어, 다음과 같은 클래스가 있다고 가정해 보겠습니다.

php

class Person {

    private $name;

    private $age;



    public function __construct($name, $age = null) {

        $this->name = $name;

        $this->age = $age;

    }



    public function getName() {

        return $this->name;

    }



    public function getAge() {

        return $this->age;

    }

}



이 경우, ReflectionProperty::getDefaultValue를 사용하여 age 프로퍼티의 기본값을 가져오려고 합니다. 하지만 이 메서드는 언제 null을 반환할까요?

php

$reflectionClass = new ReflectionClass('Person');

$reflectionProperty = $reflectionClass->getProperty('age');

$defaultValue = $reflectionProperty->getDefaultValue();



var_dump($defaultValue);



이 코드는 age 프로퍼티의 기본값을 가져오려고 하는데, 이 메서드는 언제 null을 반환할까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    ReflectionProperty::getDefaultValue 메서드는 프로퍼티의 기본값을 반환합니다. 이 메서드는 null을 반환할 때는 두 가지 경우가 있습니다.

    첫 번째 경우는, 프로퍼티가 생성자에서 기본값을 지정하지 않았을 때입니다. 예를 들어, Person 클래스의 age 프로퍼티는 생성자에서 기본값을 null로 지정하지 않았기 때문에, ReflectionProperty::getDefaultValue 메서드는 null을 반환합니다.

    두 번째 경우는, 프로퍼티가 생성자에서 기본값을 지정했지만, ReflectionProperty::getDefaultValue 메서드를 호출한 시점에 프로퍼티가 초기화되지 않았을 때입니다. 예를 들어, Person 클래스의 age 프로퍼티는 생성자에서 기본값을 null로 지정했지만, ReflectionProperty::getDefaultValue 메서드를 호출한 시점에 Person 객체가 초기화되지 않았기 때문에, ReflectionProperty::getDefaultValue 메서드는 null을 반환합니다.

    따라서, ReflectionProperty::getDefaultValue 메서드는 프로퍼티가 초기화되지 않았거나, 생성자에서 기본값을 지정하지 않았을 때 null을 반환합니다.

    2025-05-11 14:35

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 18,785건 / 18 페이지

검색

게시물 검색