• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Delegate 질문좀할게요 ㅠ

22.01.03 14:20 작성 조회수 121

0

계속 돌려봐도 이해가안되는부분이 그냥 함수 안에 함수를 넣으면 되는데 왜 굳이 매개변수를 통해서 받아오는지 이해가 안됩니다.

답변 1

답변을 작성해보세요.

1

여러가지 장점이 있습니다.

1) 함수 호출 시점 관련

함수 안에 함수를 넣으면 '당장' 해당 함수를 호출하는 것입니다.
어떤 기능을 '당장' 호출해야 한다면 그게 맞을 수도 있지만,
상황에 따라, 예를 들어 5초 후에 특정 함수를 호출해야 한다면 어떨까요?

... 5초 대기
함수호출();

이렇게 한다면 5초 대기할 동안 프로그램이 다른 작업은 할 수 없겠죠.
함수를 인자로 받아서 변수처럼 사용할 경우, 원할 때 해당 함수를 호출해주면 그만입니다.

2) 함수의 다양화 관련

꼭 특정 함수를 호출하는게 아니라, 상황에 따라 어떤 함수를 호출할지를 외부에서 정해줄 수 있다면
다양하게 응용이 가능해질 겁니다.

사실 이 부분은 언젠가 예제로 보고 스스로 필요한 상황이 되어야 더 와닿습니다.
지금은 이해가 안 간다면 그냥 넘어가셔도 무방합니다.