Á¦ °ÀÇ ¼Ò½º¿¡¼ º¯°æµÇ´Â ºÎºÐÀº
Àúµµ ã¾Æ³»±â ¾î·Æ½À´Ï´Ù.
Á¦ °ÀÇ ¼Ò½º¸¦ Âü°íÇØ º¸½Å ÈÄ
´Ù¸£°Ô ÇÑ ºÎºÐÀ» ã¾Æº¸½Ã±â ¹Ù¶ø´Ï´Ù.
¿¹¸¦ µé¾î,
°³Ã¼ »ý¼º½Ã¿¡ new Å°¿öµå¸¦ »ç¿ëÇÑ´Ù´ø°¡ µîÀ» »©¸Ô±â ½±½À´Ï´Ù.
±èÁ¤È£¼ºêID ´ÔÀÌ ¾²½Å ¿ø¹® ±ÛÀÔ´Ï´Ù.
¾Æ·¡ ¼Ò½º¿¡µµ Ç¥½ÃÇßÁö¸¸ 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));
}
}
|