[내배캠] 면접 질문 모음 9~12

Sungchan Ahn(안성찬)·2024년 12월 10일

내일배움캠프

목록 보기
79/104
  1. 콜백이란 무엇인가요? 콜백을 사용해본 경험이 있을까요?

    콜백이란 함수나 메서드를 기능만 구현하고 다른 함수나 메서드에 전달하여 호출을 맡기는 방법이다. 특정 이벤트나 조건이 충족되었을 때 매개변수로 전달받은 함수를 실행한다. 주로 비동기 작업이나 이벤트 처리에서 사용된다.

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

    델리게이트는 메서드의 참조를 담을 수 있는 형식으로 메서드의 매개변수 및 반환 타입에 따라 델리게이트의 타입이 결정된다. 특정 메서드의 시그니처(매개변수와 반환 타입)와 일치하는 메서드를 참조할 수 있다. 델리게이트를 활용해 이벤트 핸들링이나 콜백 메소드 등에서 특정 함수를 동적으로 호출할 수 있고 타입 안정성과 다중 호출을 제공한다. 보통 유니티에서는 게임 이벤트 처리나 비동기(Async) 작업의 콜백 등에 활용되며 코드의 모듈화와 유지보수성을 높인다. 메서드를 매개변수로 전달하고, 런타임에 메서드를 동적으로 변경할 수 있다.

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

    event는 클래스 내에서 특정한 일이 발생했을 때, 외부의 이벤트 구독자에게 알려주는 기능을 한다. 이벤트는 델리게이트를 기반으로 하며, 복합 대입 연산자 +=, -= 을 사용하여 이벤트를 구독, 취소할 수 있다. 이벤트는 외부에서 직접 호출할 수 없고 이벤트를 소유한 클래스 내부에서만 호출할 수 있다.
    이벤트를 정의한 클래서에서 이벤트가 발생했을 때, 외부의 이벤트 구독자에게 알려 클래스 내부에 접근하지 않고도 해당 이벤트에 대한 특정 동작을 수행할 수 있다.

  4. Unity에서 사용하는 델리게이트 혹은 이벤트에는 어떤 것이 있나요?

    Action: 반환값이 없는(반환 타입이 void인) 메서드를 참조하는 제네릭 델리게이트이다. 모든 매개 변수는 입력 매개 변수의 타입을 나타낸다.
    Func: 반환 타입이 void가 아닌 메서드를 나타내는 제네릭 델리게이트이다. 마지막 타입은 반환 타입을 나타내고, 나머지 타입은 매개 변수의 타입이다.
    특정한 시그니처(특정한 형식의 매개변수를 받고 특정한 형식의 값을 반환)가 요구되는 경우에 Action이나 Func보다 명확한 표현이 가능한 델리게이트를 사용하는 것이 더 명확하고 직관적이다.
    Unity EventSystem: 유니티의 UI 시스템에서 키보드나 마우스, 터치 등 사용자 입력에 관련된 이벤트를 처리하는 시스템이다. 특정 입력이 발생했을 때 이벤트에 구독된 작업들을 처리한다.

profile
게임 개발 기록

0개의 댓글