개발자 Q&A

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

2025.07.08 01:49

ReflectionParameter::getAttributes 관련 질문

목록
  • DP전문가 1일 전 2025.07.08 01:49
  • 14
    1
제가 ReflectionParameter::getAttributes 메소드를 공부하다가 이해가 가지 않는 부분이 있습니다.
getAttributes 메소드는 ReflectionParameter 인스턴스에서 어트리뷰트를 가져오는 메소드인 것 같은데요,
어트리뷰트란 정확히 무엇을 의미하는지 알고 싶습니다. 어트리뷰트의 종류와 예시를 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    ReflectionParameter::getAttributes 메소드는 클래스나 메소드의 속성(attribute)을 가져올 때 사용하는 메소드입니다. 속성은 클래스나 메소드에 대한 정보를 저장하는 변수입니다.

    속성의 종류는 다음과 같습니다.

    - public 속성: 클래스나 메소드의 이름, 타입, 반환 타입 등이 속합니다.
    - private 속성: 클래스나 메소드의 내부 변수, 메소드 등이 속합니다.
    - protected 속성: 클래스나 메소드의 상속받은 변수, 메소드 등이 속합니다.

    예시를 들어보겠습니다.

    #hostingforum.kr
    php
    
    class User {
    
        public $name;
    
        private $age;
    
    
    
        public function __construct($name, $age) {
    
            $this->name = $name;
    
            $this->age = $age;
    
        }
    
    }
    
    
    
    $reflectionClass = new ReflectionClass('User');
    
    $reflectionMethod = $reflectionClass->getMethod('__construct');
    
    
    
    $attributes = $reflectionMethod->getAttributes();
    
    
    
    foreach ($attributes as $attribute) {
    
        echo $attribute->getName() . "n";
    
    }
    
    


    위 코드에서는 User 클래스의 __construct 메소드의 속성을 가져와서 출력합니다. 출력 결과는 다음과 같습니다.

    - name
    - age

    위 코드에서 name과 age는 public 속성입니다. private 속성인 age는 가져올 수 없습니다.

    2025-07-08 01:50

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

검색

게시물 검색