• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Action 관련해서 질문드립니다.

22.01.21 16:42 작성 조회수 184

0

InputManager에서 

    public Action KeyAction = null;

    public void OnUpdate()

    {

        if (Input.anyKey == false)

            return;

 

        if (KeyAction != null)

            KeyAction.Invoke();

    }

 

저 빨간 부분인 KeyAction.Invoke()에 대해 궁금한데요. 찾아보니까 Action을 사용하려면 Invoke가 붙어야 한다고 구글링을 통해 알았습니다만... 그런데 Invoke 없이 일반적으로 KeyAction(); 만 사용해도 문제없이 실행 되더라고요.

여기서 Invoke가 있고 없고의 차이가 무엇인지 알수 있을까요?

답변 1

답변을 작성해보세요.

1

()을 해도 내부적으로 Invoke()가 되어 사실상 100% 동일합니다.
개인적으로 Invoke()를 호출하면 일반 함수가 아닌 delegate라는 가독성도 좋아지고
또 nullable을 활용해서 KeyAction?.Invoke(); 도 고려할 수 있기 때문에 후자를 더 좋아합니다.