Win API 동작구조
- WinMain() 함수를 통해 윈도우 응용 프로그램이 시작됨
- 사용자 입력 이벤트는 모두 메세지로 전환됨
- 윈도우 운영체제는 이벤트에 따른 메세지를 메세지 큐에 추가
- 메인 메세지 루프는 메세지 큐에서 메세지를 꺼내서 처리 (FIFO 구조)
- 윈도우 종료 메세지를 처리하면 메인 메세지 루프가 종료되고 응용 프로그램도 종료됨
C#에서 이벤트 작성 과정
- 이벤트 발생 시 처리해줄 메서드 작성 (이벤트 핸들러)
- 이벤트 핸들러의 형태와 일치하는 델리게이트 선언 (System.EventHandler 델리게이트를 사용하면 이 과정 생략됨)
- 이벤트 선언 (미리 정의된 이벤트인 경우 이 과정 생략됨)
- 이벤트에 이벤트 처리기 등록
- 이벤트 발생
이벤트와 대리자의 차이점
: 이벤트는 외부에서 직접 사용할 수 없음
- 이벤트는 public 한정자로 선언되어 있어도 자신이 선언된 클래스 외부에서는 호출이 불가능함
- 대리자는 public이나 internal로 수식되어 있으면 클래스 외부에서라도 얼마든지 호출이 가능함
- 대리자는 콜백 용도로 사용, 이벤트는 객체의 상태 변화나 사건의 발생을 알리는 용도로 사용
'Old > Unity' 카테고리의 다른 글
RPG Project - Inventory (0) | 2023.10.14 |
---|---|
RPG Project - Event (0) | 2023.09.16 |
RPG Project 오류 일지 - Respawn (0) | 2023.08.15 |
Scriptable Object (0) | 2023.07.24 |
디자인 패턴 요약 (0) | 2023.07.24 |