강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

에밀님의 프로필 이미지
에밀

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Camera #2

Invoke의 정확한 의미와 언제 사용하는지?

해결된 질문

작성

·

2.1K

4

안녕하세요. 수업을 듣는중 Invoke를 사용하시는데 인터넷에 구글링을 해봤을 때 Invoke가 무엇인지 정확히 알 수가 없었습니다. Invoke를 빼도 함수가 작동이 되는 것으로 알고 있는데 Invoke를 쓰는 이유는 무엇이며 정확히 어떤 역할을 하는지 궁금합니다

답변 1

3

Rookiss님의 프로필 이미지
Rookiss
지식공유자

Invoke를 빼고 delegate를 그냥 ()으로 호출해도 함수가 호출 되긴 합니다.
다만 그건 편의성을 위해 제공하는 '보조' 문법의 개념 정도이고,
내부적으로는 Invoke를 호출하게 됩니다.

취향 차이기는 한데 저는 delegate라는 것을 확실히 구별할 수 있게
Invoke 호출하는 편을 선호합니다.
그리고 C# 6.0부터는 nullable을 이용해서
testDelgate?.Invoke() 등을 사용할 수 있어 더욱 좋은 것 같습니다.

결론 : Invoke 안 써도 크게 차이는 없습니다.

에밀님의 프로필 이미지
에밀

작성한 질문수

질문하기