개발자 Q&A

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

2025.06.23 10:11

ReflectionMethod::isAbstract 이해를 위한 질문

목록
  • DNS마스터 26일 전 2025.06.23 10:11
  • 81
    1
제가 ReflectionMethod 클래스에서 isAbstract 메소드를 사용하여 클래스가 추상 클래스인지 확인하려고 합니다.
하지만 메소드의 리턴값이 boolean이지만 클래스 자체가 추상 클래스인 경우 메소드가 true를 리턴하는지 false를 리턴하는지 이해가 되지 않습니다.
isAbstract 메소드는 클래스가 추상 클래스인지 아닌지 확인하는 용도로 사용되나요? 또는 다른 용도로 사용되나요?

    댓글목록

    profile_image
    나우호스팅  26일 전



    ReflectionMethod::isAbstract 메소드는 클래스가 추상 클래스인지 확인하는 용도로 사용됩니다.

    이 메소드는 클래스가 추상 클래스인 경우 true를 리턴하고, 일반 클래스인 경우 false를 리턴합니다.

    추상 클래스는 추상 메소드를 하나 이상 포함하는 클래스를 의미합니다.

    예를 들어, 다음 코드는 추상 클래스를 정의한 후 ReflectionMethod::isAbstract 메소드를 사용하여 추상 클래스인지 확인하는 방법을 보여줍니다.

    #hostingforum.kr
    php
    
    abstract class Animal {
    
        abstract public function sound();
    
    }
    
    
    
    class Dog extends Animal {
    
        public function sound() {
    
            return "멍멍!";
    
        }
    
    }
    
    
    
    $method = new ReflectionMethod('Dog', 'sound');
    
    echo $method->isAbstract() ? "true" : "false"; // true
    
    


    위 코드에서 Dog 클래스는 추상 클래스 Animal을 상속하고, sound 메소드를 구현했습니다. 하지만 Dog 클래스 자체는 추상 클래스가 아니므로 ReflectionMethod::isAbstract 메소드는 false를 리턴합니다.

    2025-06-23 10:12

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

검색

게시물 검색