Unity/C#
-C#- 대리자(delegate)
검은젤리곰
2019. 5. 28. 11:21
C#의 대리자(delegate)는 C++의 함수 포인터의 기능과 유사하다.
오늘은 이 대리자에 대해 아주아주 간단하게 적어볼것이다 (한번에 이해가 딱 와닿질 않아서... 추후에 다시 정리해보자.)
delegate는 대리자라는 이름 그대로 메소드를 대신해서 호출하는 역할을 가진다.
델리게이트로 메소드를 호출하기 위해서는 반환타입과 매개변수가 모두 해당 메소드와 같은 타입이어야 한다.
delegate void Func(int);
void func(int);
delegate int Func2(float);
int func2(float);
대리자로 메소드르 호출하려면, 해당 대리자 타입으로 변수를 생성해 호출할 메소드를 참조시키면 된다.
Func delegate;
delegate = new Func(func);