본 내용은 "델파이 프로그래밍 언어" 도서의 일부분을 정리한 것입니다. 보다 자세한 내용은 해당 도서를 통해 확인할 수 있습니다.

 "델파이 프로그래밍 언어"(342쪽, 구입안내): http://tech.devgear.co.kr/devgearbook/2431 


 그 외 데브기어 도서들은 다음 링크를 통해서 확인할 수 있습니다: www.devgear.co.kr/book


익명메소드


이름이 시사하는 것처럼, 익명 메소드(anonymous method)는 이름이 연관되지 않은 프로시 저나 함수입니다. 익명 메소드는 어떤 코드 블록을 변수에 대입될 수 있거나 메소드의 파라미터로 사용될 수 있는 엔티티로 취급합니다. 또한 익명 메소드는 그 메소드가 정의된 문맥에서 변수나 변수에 지정된 값을 가리킬 수도 있습니다. 익명 메소드는 단순한 문법으로 정의되고 사용될 수 있습니다. 익명 메소드는 다른 언어들의 클로저(closure) 문법과 유사합니다.


익명 메소드의 문법

익명 메소드는 일반 프로시저나 함수와 비슷하게 정의되지만 이름이 지정되지 않습니다. 예를 들어, 아래 함수는 익명 메소드로 정의된 함수를 리턴합니다. 


anonymous_1_1.png

anonymous_1_2.png


MakeAddr 함수는 이름 없이 선언된 함수, 즉 익명 메소드를 리턴합니다.
MakeAddr가 TFuncOfInt 타입의 값을 리턴한다는 것을 주목하십시오. 익명 메소드 타입 은 메소드에 대한 참조로 선언됩니다. 


anonymous_1_3.png

위의 선언은 이 익명 메소드가 아래와 같다는 것을 나타냅니다.

  • 함수입니다.
  • 하나의 정수 파라미터를 받습니다. 
  • 정수 값을 리턴합니다.

일반적으로, 익명 함수 타입은 프로시저 혹은 함수에 대해 선언됩니다. 


anonymous_1_4.png

아래는 타입들의 예입니다.

anonymous_1_5.png 

익명 메소드는 이름 없이 프로시저나 함수로 선언됩니다.

anonymous_1_6.png

anonymous_1_7.png