1. 델리게이트 (Delegate)
메서드의 참조를 포함하고 있는 영역.
// 선언
delegate 반환형 델리게이트명(매개변수);
// 호출
델리게이트명 인스턴스명 = 함수;
* 메서드를 연결해서 인스턴스화 하는 대신 무명메서드 사용 가능
2. 이벤트 (Event)
클래스 내에 특정한 일이 발생했을 때 외부에 알리는 역할.
제약 조건이 추가된 특수한 형태의 delegate이다.
조건 1: 이벤트의 추가, 삭제만 가능하고 할당은 불가능하다.
조건 2: 클래스 외부에서 직접 이벤트를 호출할 수 없다.
// 선언
한정자 event 델리게이트명 인스턴스명;
// 호출
이벤트명?.Invoke();
* ? 연산자 : 연산자의 왼쪽이 null이 아닌 경우에만 오른쪽 수행
3. 이벤트 핸들러 (EventHandler)
외부 쪽에서 이벤트가 발생했을 때 어떤 명령을 실행할 지를 지정한다.
이벤트에는 여러 개의 이벤트 핸들러를 추가(+=)할 수 있으며 이벤트가 발생하면 추가된 이벤트들을 차례대로 호출한다.
'✏️ 이론 > C#' 카테고리의 다른 글
| [ C# ] 자료구조 (스택, 큐, 딕셔너리, 해시테이블) (0) | 2023.09.05 |
|---|---|
| [ C# ] Object 타입, 박싱, 언박싱 (0) | 2023.09.05 |
| [ C# ] Virtual, Abstract, Interface (0) | 2023.09.04 |
| [ C# ] 자료구조 (Array, List, ArrayList) (0) | 2023.09.04 |
| [ C# ] 메모리 영역 (0) | 2023.03.25 |