실행 결과
C# .NET
①에서는 EventHandler란 이름의 대리자를 만들었습니다. 대리자 이름은 무엇을 사용하든지 상관없습니다.
②는 Click이라는 이름의 이벤트를 만드는 과정인데, event 키워드와 대리자 형식을 함께 사용하여 Click을 이벤트로 정의했습니다.
③은 Click 이벤트에 등록된 메서드가 있다면 이를 호출할 때 사용하는 OnClick 이름의 이벤트 처리기를 만드는 형태입니다.
이와 같이 대리자, 이벤트, 이벤트 처리기를 쌍 하나로 ButtonClass 클래스에 구현했습니다.
ⓐ에서 ButtonClass의 인스턴스를 생성한 후 ⓑ처럼 Click 이벤트에 += 연산자를 사용하여 대신 호출할 메서드를 하나 이상 등록할 수 있습니다. 이렇게 등록된 메서드는 ⓒ처럼 OnClick() 메서드를 사용하여 이벤트에 등록된 하나 이상의 메서드를 호출할 수 있습니다.
콘솔 앱 프로그램에서는 따로 이벤트를 구현할 필요가 거의 없습니다. 그 대신 Windows Forms 또는 Web Forms 같은 프로그래밍 환경에서는 이러한 이벤트들이 이미 구현되어 있어 자주 사용하게 됩니다.
책에서 이 강의 내용이 가장 적습니다. 이벤트를 직접 구현하여 프로그래밍하는 분야는 이 책의 학습 범위를 벗어납니다. 그러기에 예제만 하나 만들어 보고 마무리했습니다. C# 이벤트를 좀 더 자세히 알고 싶다면 검색 엔진에서 ‘C# event’를 검색하여 해당 내용을 살펴보길 추천합니다.