c++에서 함수 포인터를 이용했던 것 대신,
언리얼 C++에서는 델리게이트를 제공해준다.
Delegate는 한국어로 대리자를 의미한다.
Delegate는 함수를 참조하는 대리자이다.
델리게이트를 통해서 C++ 오브젝트의 멤버함수 호출을 안전하게 할 수 있다.
함수 포인터가 아니라 Delegate를 통해 함수를 호출한다.
하나의 Delegate에 동일한 형의 함수들을 여러개 바인딩해서 동시에 호출할 수 있다.
가장 기본적인 델리게이트.
하나의 함수를 바인딩해주는 델리게이트.
~Bind~
메소드를 사용해서 바인딩해준다.
여러 개의 함수를 바인딩해줄 수 있는 델리게이트
~Add~
메소드를 사용해서 바인딩해준다.
블루프린트에서 사용 가능한 델리게이트
싱글, 멀티 모두 존재한다.
전역 C++ 함수 : BindStatic
전역 C++ 람다 함수 : BindLambda
C++ 클래스 멤버 함수 : BindLaw
공유포인터 클래스의 멤버함수 (쓰레드 미지원) : BindSP
공유포인터 클래스의 멤버함수 (쓰레드 지원) : BindThreadSafeSP
UFUNCTION 멤버함수 : BindUFunction
언리얼오브젝트의 멤버함수 : BindUObject
Execute
: 걍 실행
ExecuteIfBound
: 바인딩되었다면 실행하기 (안전) - 반환값이 없는 경우 사용 가능
IsBound
: 델리게이트가 바인딩되었는지 확인
참고
https://koreanfoodie.me/919
https://hyo-ue4study.tistory.com/287
https://wecandev.tistory.com/94