DEV_STUDY/C#
[C# 객체지향] Delegate 대리자!
장9
2012. 1. 10. 17:04
딜리게이트에 대해서 알아보자.
Delegate란?
- 함수의 대리자.
- 함수를 보다 효율적으로 사용하기 위해서 특정 함수 자체를 캡슐화 하기 위한 도구!
한마디로 클래스안의 특정 함수만 빼와서 사용한다고 보면된다.
실전 예제를 들어서 보여주는게 더욱 쉬울것이다.
delegate void show1(); delegate void show2(int a); class aaa { static void Main(string[] args) { aaa clas= new aaa(); show1 sw = new show1(clas.f1); show2 sw2 = new show2(clas.f2); sw(); sw2(232); } public void f1() { Console.WriteLine("이것은 바로 딜리게이트이다"); } public void f2(int a) { Console.WriteLine("딜리게이트는 {0}만큼 멋지다",a); } }
이렇게 sw(), sw2()를 사용해서 바로 쓸 수가 있다. 여기서 중요한 것은 이 Delegate가 어떻게 쓰이는가 하는것이다.
나중에 쓰레드개념이 나오면 이 Delegate와의 조합으로 쓰인다니 , 뒷부분 쓰레드가 나오면 그때 좀더 알아보도록 하자.