C#의 event란 무엇인가요?
한 줄 요약
event : 델리게이트를 기반으로 하나 event 한정자를 가진 델리게이트는 외부 클래스에서 Invoke가 불가능(외부 접근을 차단해 안정성 강화)
Event
- event는 어떤 객체가 발생시키는 상황이나 신호를 의미한다.
- eventHandler는 event가 발생할 때마다 해당 상황을 처리하기 위해 호출되는 함수를 지칭한다.
- 델리게이트를 기반으로 만들어지지만, 이와 다른 점은 외부에서 직접 event를 호출할 수 없다는 점이며, 오로지 event를 선언한 클래스 내에서만 event를 호출할 수 있다.
- 외부에서는 event에 eventHandler를 등록하고 event가 호출될 때마다 등록된 함수들이 실행되도록 할 수 있다.
- 지난 델리게이트 설명에서 사용한 예시가 event도 사용하고 있어 사용 예시는 생략한다.