Deff_Dev

[C#] 콜백, delegate, event 본문

면접 질문 정리/C#

[C#] 콜백, delegate, event

Deff_a 2024. 7. 3. 12:29

 

1. 콜백이란 무엇인가요? 콜백을 사용해본 경험이 있을까요?

  • 콜백 : 피호출자가 호출자의 메소드를 호출하는 것
  • 콜백은 특정 이벤트나 조건이 발생했을 때 호출되는 함수로, 주로 비동기 프로그래밍에서 사용된다. (작업 완료 시점을 명확하게 처리 가능)

Button.Onclick.AddListener

위 처럼 보통 매개 변수에 콜백 함수를 넣어서 사용한다.

 

사용

  • MonoBehaviour 이벤트 함수 (Awake, Start, Update …)
  • UI 이벤트 콜백
    • Button.OnClick
    • Slider.OnValueChanged
  • 물리 처리 관련 콜백
    • OnCollisionEnter/Exit/Stay
    • OnTriggerEnter/Exit/Stay

2. 델리게이트(delegate; 대리자)란 무엇인가요?

  • 함수에 대한 참조를 저장하고 호출할 수 있는 객체
  • 하나의 델리게이트에 반환 타입과 매개변수 타입이 같은 메소드를 여러 개 구독하여 순차적으로 실행할 수 있다.

사용

  • Action : 반환 값이 없는 메소드를 참조
  • Func : 반환 값이 있는 메소드를 참조

3. C#의 event란 무엇인가요?

  • 특수한 제약조건이 추가된 델리게이트로, 클래스 내/외부에서 메소드 구독, 해제만 가능하고 이벤트 실행은 이벤트가 선언된 해당 클래스 안에서만 실행 시킬 수 있다.

사용

  • Animation Event 
  • Unity Event
  • InputSystem

 

 

3. 콜백, delegate, event | Notion

확인 문제

cuboid-break-657.notion.site

 

'면접 질문 정리 > C#' 카테고리의 다른 글

[C#] 가비지 컬렉터 (Garbage Collectior)  (0) 2024.07.08
[C#] 상속과 인터페이스  (0) 2024.07.05
[C#] 스택 메모리, 힙 메모리  (0) 2024.07.04
[C#] 객체 지향 프로그래밍  (0) 2024.07.02
[C#] 객체와 한정자  (0) 2024.07.01