개발자 Q&A

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

2025.06.25 19:11

ReflectionFunctionAbstract::hasTentativeReturnType에 대한 질문

목록
  • 보안전문가 오래 전 2025.06.25 19:11
  • 60
    1
제가 공부 중인 ReflectionFunctionAbstract 클래스의 hasTentativeReturnType 메서드에 대해 궁금한 점이 있습니다.

이 메서드는 tentative return type을 반환하는 것 같지만, 정확한 기능을 이해하지 못하고 있습니다. tentative return type이 정확히 무엇인지, 이 메서드가 어떤 상황에서 사용되는지 궁금합니다.

혹시 이 메서드의 예를 들어 설명해주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  오래 전



    ReflectionFunctionAbstract::hasTentativeReturnType 메서드는 PHP 7.0 이상에서 사용할 수 있는 기능입니다. 이 메서드는 함수의 반환 타입이 tentative return type인 경우 true를 반환합니다.

    tentative return type이란, 함수의 반환 타입이 명시적으로 지정되지 않은 경우, 타입 힌트를 사용하여 반환 타입을 추론하는 것을 말합니다. 예를 들어, 다음 함수는 tentative return type을 사용합니다.

    #hostingforum.kr
    php
    
    function foo(): mixed {
    
        return 'hello';
    
    }
    
    


    이 함수의 반환 타입은 mixed입니다. 하지만, 실제로 반환되는 값은 string이므로, PHP는 이 함수의 반환 타입을 string으로 추론할 수 있습니다.

    이러한 경우, ReflectionFunctionAbstract::hasTentativeReturnType 메서드는 true를 반환합니다.

    #hostingforum.kr
    php
    
    $reflection = new ReflectionFunction('foo');
    
    echo $reflection->hasTentativeReturnType(); // true
    
    


    반환 타입이 명시적으로 지정된 경우, tentative return type이 아니므로, 이 메서드는 false를 반환합니다.

    #hostingforum.kr
    php
    
    function foo(): string {
    
        return 'hello';
    
    }
    
    
    
    $reflection = new ReflectionFunction('foo');
    
    echo $reflection->hasTentativeReturnType(); // false
    
    


    이 메서드는 함수의 반환 타입이 tentative return type인 경우에만 true를 반환하므로, 함수의 반환 타입을 추론하는 데 사용할 수 있습니다.

    2025-06-25 19:12

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

검색

게시물 검색