¼Ò¼³°°ÀºC#  Á¦5°­ÀÇ C#ÀÇ ´ÙÇü¼º  09. ÀÎÅÍÆäÀ̽º¶õ?  

 

 

5.9 ÀÎÅÍÆäÀ̽º¶õ?

 

ÀÎÅÍÆäÀ̽º(Interface)¶õ Ŭ·¡½ºÀÇ ÇÑ Á¾·ùÀÔ´Ï´Ù. ¹°·Ð, Ŭ·¡½º¶ó°í´Â ÇÏÁö¸¸ Ŭ·¡½º¶ó°í Çϱ⿡´Â ³Ê¹«³ª ÇãÁ¢ÇÑ ÇüŸ¦ °¡Áö°í ÀÖ½À´Ï´Ù. Áï, Ŭ·¡½ºÀÇ »À´ë¸¸À» °¡Áö°í ÀÖ´Â °ÍÀÌ ¹Ù·Î ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ±×·¡¼­ ÀÎÅÍÆäÀ̽º¶ó°í ÇÏ´ÂÁöµµ ¸ð¸£°Ú½À´Ï´Ù. ¸ÕÀú ÀÎÅÍÆäÀ̽ºÀÇ ±¸¼º¿ä¼ÒºÎÅÍ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

ÀÎÅÍÆäÀ̽ºÀÇ ±¸¼º¿ä¼Ò

¸Þ¼­µå(Method)

¼Ó¼º(Property)

À̺¥Æ®(Event)

Àε¦¼­(Indexer)

 

À§ÀÇ ¿ä¼ÒµéÀº ÀÎÅÍÆäÀ̽ºÀÇ ±¸¼º¿ä¼Ò·Î Æ÷Ç﵃ ¼ö ÀÖ´Â ¿ä¼ÒµéÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀϹÝÀûÀÎ ¸Þ¼­µå, ¼Ó¼º, À̺¥Æ®, Àε¦¼­¿Í ´Þ¸® ÇÁ·ÎÅäŸÀÔ¸¸À» ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·ÎÅäŸÀÔÀ̶õ ¼±¾ðºÎ¸¸ Á¸ÀçÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. Áï, ÀÎÅÍÆäÀ̽º ³»¿¡¼­ÀÇ ¸Þ¼­µå, ¼Ó¼º, Àε¦¼­´Â ¸öüºÎºÐÀÌ ¾øÀ¸¸ç, À̺¥Æ®´Â ´ÜÁö »ç¿ëµÉ À̺¥Æ®¸¦ ¼±¾ð¸¸ ÇØ µÎ´Â °ÍÀÔ´Ï´Ù. °¢°¢ÀÇ ÇÁ·ÎÅäŸÀÔÀÇ ¿¹´Â ´ÙÀ½°ú °°½À´Ï´Ù.

 

ÀÎÅÍÆäÀ̽ºÀÇ ±¸¼º¿ä¼ÒµéÀ» º¸¿©ÁÖ´Â ¿¹

public delegate void StringListEvent(IStringList sender);

public interface IStringList{

      void Add(string s);//¸Þ¼­µå

      int Count { get; set; }//¼Ó¼º

      event StringListEvent Changed;//À̺¥Æ®

      string this[int index] { get; set; }//Àε¦¼­

}

 

Àε¦¼­°¡ ÀÖÁö¸¸ À妽ºÀÇ ±¸ÇöºÎ´Â Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. À̰ÍÀº ¸Þ¼­µå, ¼Ó¼º¿¡µµ ¸¶Âù°¡Áö·Î Àû¿ëµË´Ï´Ù. ±×¸®°í À̺¥Æ®´Â º°´Ù¸¥ °ÍÀÌ ¾øÀ¸¸ç ´ÜÁö À̺¥Æ®ÀÇ ¼±¾ð¸¸ Çϳª Á¸ÀçÇÒ »ÓÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÇÁ·ÎÅäŸÀÔ¸¸À¸·Î´Â ¾Æ¹«°Íµµ ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÎÅÍÆäÀ̽ºµµ Ŭ·¡½º¶ó°í ÇÑ´Ù¸é °´Ã¼»ý¼ºÀ» ÁÖ¸ñÀûÀ¸·Î ÇÏÁö ¾Ê°Ú½À´Ï±î! ÇÏÁö¸¸ ÀÎÅÍÆäÀ̽º·Î´Â °´Ã¼¸¦ »ý¼ºÇÏ´Â ÀÏÀº »ó»óÁ¶Â÷ ÇÒ ¼ö ¾ø´Â ÀÏÀÔ´Ï´Ù. ±×¸®°í ¶Ç ÇϳªÀÇ Àǹ®µµ Á¦±âµË´Ï´Ù. ÀÎÅÍÆäÀ̽º°¡ Ŭ·¡½ºÀÇ ÇÑ Á¾·ù¶ó¸é Á¢±ÙÁöÁ¤ÀÚ°¡ Á¸ÀçÇÏÁö ¾ÊÀ»±î¿ä? ¸Â½À´Ï´Ù. Á¢±ÙÁöÁ¤ÀÚ°¡ Á¸ÀçÇÕ´Ï´Ù. ÀÎÅÍÆäÀ̽ºÀÇ ¸ðµç ¸â¹öÀÇ Á¢±ÙÀº ÀüºÎ publicÀ» ±âº»À¸·Î ÇÕ´Ï´Ù. ±×¸®°í ÀÎÅÍÆäÀ̽º ³»ÀÇ ¸â¹ö ¾Õ¿¡ abstract, public, protected, internal, private, virtual, override, static°ú °°Àº Ű¿öµåµéÀº »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

 

¢Ã ÀÎÅÍÆäÀ̽º(Interface)ÀÇ Æ¯Â¡I

q                 ÀÎÅÍÆäÀ̽º ³»ÀÇ ¸â¹ö´Â ¸ðµÎ ¸öü°¡ ¾ø´Ù.

q                 ÀÎÅׯäÀ̽ºÀÇ ¸â¹ö´Â µðÆúÆ®·Î ÀüºÎ publicÀÌ´Ù.

q                 ³»ºÎ¿¡ Çʵ带 °¡Áú ¼ö ¾ø´Ù.

q                 ¸â¹ö¿¡ ¾î¶°ÇÑ Á¢±ÙÀÚ, ÇÑÁ¤ÀÚµµ ºÙÀÌÁö ¾Ê´Â´Ù.

 

 ÀÎÅÍÆäÀ̽º´Â ÇÁ·Î±×·¥ÀÇ ±¸Á¶¿Í ¼³°è, ±×¸®°í ±¸Çö¿¡ À־ ´ë´ÜÈ÷ Áß¿äÇÑ ºÎºÐÀ̶ó ÀÚ¼¼ÇÏ°Ô ¼³¸íÇÒ °ÍÀÔ´Ï´Ù. ±×·¡¼­ ÀÚÄ© Áö·çÇØÁú ¿°·Á°¡ ÀÖÀ¸´Ï º¸´Ù °ü½ÉÀ» °¡Áö°í º¸½Ã±â ¹Ù¶ø´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦5°­ÀÇ
ÀúÀÚ:ÃÖ¿µ°ü