개발자 Q&A

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

2025.03.29 13:18

ReflectionMethod::getDeclaringClass에 대한 질문

목록
  • Dart광 2일 전 2025.03.29 13:18
  • 1
    1
안녕하세요 선생님, ReflectionMethod::getDeclaringClass를 사용하여 메서드가 선언된 클래스를 가져올 수 있나요?

그런데 getDeclaringClass가 반환하는 값은 어떤 타입일까요?

예를 들어, 다음 코드를 살펴보겠습니다.

php

class A {

    public function test() {}

}



class B extends A {

    public function test2() {}

}



$reflectionMethod = new ReflectionMethod('B', 'test2');

$declaringClass = $reflectionMethod->getDeclaringClass();



getDeclaringClass가 반환하는 값은 B 클래스인지 A 클래스인지는 어떻게 알 수 있을까요?

선생님 도움이 필요합니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    ReflectionMethod::getDeclaringClass는 메서드가 선언된 클래스를 반환합니다.

    반환되는 값은 ReflectionClass 타입입니다.

    예를 들어, 다음 코드를 살펴보겠습니다.

    #hostingforum.kr
    php
    
    class A {
    
        public function test() {}
    
    }
    
    
    
    class B extends A {
    
        public function test2() {}
    
    }
    
    
    
    $reflectionMethod = new ReflectionMethod('B', 'test2');
    
    $declaringClass = $reflectionMethod->getDeclaringClass();
    
    
    
    if ($declaringClass->getName() === 'B') {
    
        echo '메서드가 선언된 클래스는 B 클래스입니다.';
    
    } elseif ($declaringClass->getName() === 'A') {
    
        echo '메서드가 선언된 클래스는 A 클래스입니다.';
    
    } else {
    
        echo '메서드가 선언된 클래스는 다른 클래스입니다.';
    
    }
    
    


    위 코드를 실행하면 '메서드가 선언된 클래스는 B 클래스입니다.'가 출력됩니다.

    이러한 방법으로 getDeclaringClass가 반환하는 클래스 이름을 확인할 수 있습니다.

    2025-03-29 13:19

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

검색

게시물 검색