메소드의 기능을 대신해 주는 대리자입니다. 메소드를 보다 효율적으로 사용하기 위하여 메소드 자체를 캡슐화 하는 기능입니다. 그래서 메소드를 대신하는 대리자를 호출하면 메소드를 직접 호출하지 않고도 메소드 호출이 가능합니다.
Delegate는 일종의 함수포인터 혹은 매크로라고 생각하시면 이해하기 편하실 겁니다.
using System; namespace delegate_test class deletest |
대리자에 deletest의 function1만 등록하고 한번 출력 후 function2도 추가 등록하여 2가지 일을 동시에 하게 만들었습니다. 메소드와 Delegate의 반환형, 매개변수 타입, 개수가 같으면 추가로 등록하는게 가능합니다.