¾Æ·¡ ¼Ò½º¿¡µµ Ç¥½ÃÇßÁö¸¸ HahaÀ̸§ÀÌ ÇöÀç ÄÁÅؽºÆ®¿¡ ¾ø½À´Ï´Ù.
¶ó´Â ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
delegate·Î Haha ¼±¾ðµµ Çß°í ´ë¼Ò¹®ÀÚµµ ¶È°°ÀÌ Çؼ Ãß°¡Çߴµ¥
Ç¥½ÃµÈ ºÎºÐºÎÅÍ ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
ÇØ°á¹æ¹ýÀ» ¹®Àǵ帳´Ï´Ù.
public class Car
{
public void Run()
{
Console.WriteLine("ÀÚµ¿Â÷°¡ Á÷Áø");
}
public void Left()
{
Console.WriteLine("ÀÚµ¿Â÷°¡ ¿ÞÂÊ");
}
public void Right()
{
Console.WriteLine("ÀÚµ¿Â÷°¡ ¿À¸¥ÂÊ");
}
public void Test(int a)
{
Console.WriteLine((a*a));
}
public int Sum(int a, int b)
{
return (a + b);
}
}
class Program
{
public delegate void Haha();
public delegate void Gop(int a);
public delegate int Hap(int a, int b);
static void Main(string[] args)
{
Car car = new Car();
car.Run(); car.Right(); car.Left();
Haha ha;
ha = Haha(car.Run); <-----HahaÀ̸§ÀÌ ÇöÀç ÄÁÅؽºÆ®¿¡ ¾ø½À´Ï´Ù.
ha += Haha(car.Left);
ha += Haha(car.Right);
ha -= Haha(car.Left);
ha();
Gop gop = new Gop(car.Test);
gop(7); gop(17);
Hap hap = new Hap(car.Sum);
Console.WriteLine(hap(3, 5));
}
}
|