딜리게이트에 대해서 알아보자.
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와의 조합으로 쓰인다니 , 뒷부분 쓰레드가 나오면 그때 좀더 알아보도록 하자.
'DEV_STUDY > C#' 카테고리의 다른 글
[C# 제네릭] Generic (0) | 2012.01.18 |
---|---|
[C# 컬렉션] Colloection (0) | 2012.01.17 |
[C# 객체지향] Boxing & Unboxing 박싱/언박싱 (0) | 2012.01.10 |
[C# 객체지향] 업캐스팅( 제 1 다형성 ) 가상함수 ( 제 2 다형성 ) (0) | 2012.01.05 |
[C# 객체지향] 인터페이스 (Interface) 란?! (0) | 2012.01.04 |