C#

델리게이트와 event

khkg12 2023. 11. 8. 15:43

델리게이트란?

델리게이트는 특정 매개변수 목록 및 반환 형식이 있는 함수에 대한 참조를 뜻한다. 이말을 간단하게 풀면 함수를 대신 호출해주는 기능으로, 자신이 어떠한 기능을 하는지 명확하게 알고있다.

 

델리게이트 정의하는 법.

 

하지만 위처럼 void반환타입의 함수를 담는 델리게이트는 너무나도 자주사용될것이 자명하다. 그래서 선배개발자분들은

이러한 델리게이트를 미리 만들어두셨다. 그것이 바로 Action. 

 

마찬가지로 반환값과 매개변수를 갖는 함수를 참조하는 델리게이트 또한 미리 만들어두셨다. 그것이 바로 Func.

 

무명메소드란?

이름이 없는 메소드란 뜻으로 재사용 될일이 없을 기능들은 무명메소드로 델리게이트에 엮어주는 것이 편하다.

 

사용 예시 코드

 

event 키워드란?

델리게이트엔 event라는 키워드를 붙일 수 있는데 이는 델리게이트의 호출을 해당 델리게이트가 존재하는 스크립트 내에서만 호출이 가능하도록 제한을 둔 것이다. 다른 스크립트에선 함수를 엮어 줄수만 있다. 이렇게 제한을 두는 이유는 event를 붙이지 않은 델리게이트와 event를 붙인 델리게이트의 사용방법의 차이가 있기 때문이다.

또한 event는 인터페이스 내부에 선언할 수 있지만 델리게이트는 선언할 수 없다.

사용용도는 델리게이트는 콜백, 이벤트는 객체의 상태변화나 사건의 발생을 알리는 용도로 구분할 수 있다.

'C#' 카테고리의 다른 글

리플렉션과 어트리뷰트  (0) 2024.01.02
IComparable 인터페이스 상속을 통한 클래스 정렬  (0) 2023.11.30
추상클래스와 인터페이스  (0) 2023.09.25
ScriptableObject  (0) 2023.09.08
코루틴  (0) 2023.09.01