개발자 Q&A

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

2025.08.04 18:25

ReflectionFunction::isAnonymous 관련 질문 내용

목록
  • Bootstrap고수 2시간 전 2025.08.04 18:25 새글
  • 1
    1
제가 공부 중인 ReflectionFunction에 대해 질문을 드리겠습니다.

ReflectionFunction::isAnonymous는 함수가 익명 함수인지 여부를 확인하는 메서드입니다.

다음과 같은 코드가 있습니다.

swift

func test() {

    let closure = { print("Hello, World!") }

    let function = { print("Hello, World!") }

    

    print(ReflectionFunction.isAnonymous(closure)) // true

    print(ReflectionFunction.isAnonymous(function)) // false

}



위 코드에서 closure는 익명 함수이지만, function은 익명 함수가 아닙니다.

제가 이해하는 바로는 closure는 익명 함수이기 때문에 ReflectionFunction::isAnonymous 메서드는 true를 반환하는 것 같습니다.

하지만, function은 익명 함수가 아니지만, ReflectionFunction::isAnonymous 메서드는 false를 반환하지 않습니다.

이러한 이유는 무엇이며, ReflectionFunction::isAnonymous 메서드는 어떻게 동작하는 것일까요?

제가 궁금한 점을 알려드리겠습니다.

    댓글목록

    profile_image
    나우호스팅  2시간 전



    익명 함수는 함수 선언이 없이 정의되는 함수입니다. 익명 함수는 변수에 할당되거나 함수에 전달될 수 있습니다.

    Swift에서는 익명 함수를 정의할 때 `{}`를 사용하여 함수 본문을 작성합니다. 익명 함수는 함수 이름이 없기 때문에 ReflectionFunction::isAnonymous 메서드는 이를 확인하여 익명 함수인지 여부를 판단합니다.

    ReflectionFunction::isAnonymous 메서드는 함수의 이름을 확인하여 익명 함수인지 여부를 판단합니다. 익명 함수는 이름이 없기 때문에 ReflectionFunction::isAnonymous 메서드는 true를 반환합니다.

    반면, `function`은 이름이 있는 함수이기 때문에 ReflectionFunction::isAnonymous 메서드는 false를 반환합니다.

    이러한 이유는 ReflectionFunction::isAnonymous 메서드가 함수의 이름을 확인하여 익명 함수인지 여부를 판단하기 때문입니다.

    따라서, ReflectionFunction::isAnonymous 메서드는 함수의 이름을 확인하여 익명 함수인지 여부를 판단합니다.

    2025-08-04 18:26

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

검색

게시물 검색