델리게이트를 이용하면 타입 안정적인 콜백을 정의할 수 있음
참조 대상은 정적 메서드, 인스턴스 메서드 모두 가능
한 델리게이트에 여러 함수 등록 가능 = 멀티캐스트 델리게이트
➡️ 함수 호출을 나중으로 미루고, 클래스 간 통신/콜백에도 유용
대표적인 내장 델리게이트들이며 ,
파라미터 수/ 타입/ 리턴 타입(엄격한 함수 시그니처)이 정확히 일치해야 델리게이트로 받을 수 있음
Predicate<T>: T → boolFunc<T>: 여러 입력 → 값 반환
Action<T>: 여러 입력 → 반환 없음(void)List<T>, LINQ, WPF, Winfrom 마샬링 등 델리게이트를 기반으로 한 콜백을 사용하는 사례가 많다
모두 델리게이트를 명시적으로 만들지 않으며 람다식 등을 델리게이트로 포장해서 작동함
List<T>