저작권 안내: 저작권자표시 Yes 상업적이용 No 컨텐츠변경 No

스프링5 입문

JSP 2.3

JPA 입문

DDD Start

인프런 객체 지향 입문 강의

'first-class function'에 해당되는 글 1건

  1. 2013.05.14 1급(first-class)의 의미 (3)

글을 읽다 보면 1급 함수(first-class function)처럼 1급(first-class)이란 단어가 나오는데, 이 단어의 의미를 간단히 정리해 보았다.

  • 파라미터로 전달될 수 있다
  • 리턴 값으로 사용될 수 있다
  • 변수에 할당할 수 있다
  • 런타임에 생성될 수 있다
first-class function 의 의미는 함수를 파라미터로 전달하고, 변수에 할당하고, 리턴 값으로 함수를 받을 수 있고, 런타임에 함수를 생성할 수 있다는 의미가 된다.



Posted by 최범균 madvirus

댓글을 달아 주세요

  1. 이루리 2013.06.20 15:22 신고  댓글주소  수정/삭제  댓글쓰기

    그러면 1급함수가 아닌 함수는 어떤것인가요? 검색해두 정보를 못찾아 질문드려요~

    • 최범균 madvirus 2013.06.21 08:49 신고  댓글주소  수정/삭제

      1급함수가 아닌 함수가 아니라,,, 언어에서 함수를 1급으로 처리하느냐에 대한 겁니다.
      자바의 경우는 다음과 같은 코드가 안 되죠.

      // public void myFunc()이 있다고 가정
      Some some = new Some();
      some.callAny(myFunc); // 파라미터로 메서드 자체를 줄 수 없음

      자바에서는 메서드가 1급으로 처리되지 않기에, 메서드 자체를 생성자나 변수나 파라미터 등에 전달할 수 없습니다. 메서드만 따로 생성하는 것도 안 되구요.

      반면에 자바스크립트에서는 아래와 같은 코드가 가능하죠.

      function someFunc() { ... }
      otherFunc(someFunc) // 함수 자체를 파라미터로 전달 가능
      var a = someFunc; // 함수를 변수에 할당 가능

      즉, 자바 스크립트에서는 함수를 1급으로 처리하고 있습니다.

  2. 지나가다 2017.06.08 17:57 신고  댓글주소  수정/삭제  댓글쓰기

    좀 엉뚱한 질문같지만, 그러면 왜 굳이 "1급" 이라고 부르나요?
    1급 함수가 있으면 2급(second-function), 3급도 있다는 소린가요?