델리게이트를 이용한 콜백을 좀 더 기능적으로 만들어주는 키워드다.
이벤트에서는 델리게이트 콜백에서 델리게이트 변수를 넘겨주었던 과정까지 생략할 수 있다.
이벤트를 이해하려면 이벤트를 발생시키는 쪽과 발생한 이벤트에 반응하는 쪽을 나눠 생각할 수 있어야한다.
이벤트를 발생시키는 클래스 : Publisher
이벤트를 반응하는 클래스 : Subscriber
<aside> 💡 자식에서 부모의 메소드를 사용하는것은 매우 어려운 작업이다 아주 가부장적인 C#이다
</aside>
그래서 이벤트를 통해 어디선가 작업된 내용을 쏘고
이벤트 구독을 통해 받는다.
이벤트는 구독자가 아주 많을 때 굉장히 유용하다.
이벤트 발생 후 구독자의 메서드를 일일이 호출해야 하는 것이 아니라 각각의 구독되는 이 이벤트가 발생하는지 듣고 있다가 이벤트가 발생했을 때 자신이 등록해 놓은 메서드를 실행하기 때문이다.