¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ  5Àå. Class for Polymorphism  Abstract¿Í InterfaceÀÇ ºñ±³  

5.3 Abstract¿Í InterfaceÀÇ ºñ±³

abstract¿Í interface´Â ºñ½ÁÇÑ Á¡ÀÌ ¸¹½À´Ï´Ù. interface ÀÚü°¡ abstractŬ·¡½ºÀÇ Àǹ̸¦ ´ã°í Àֱ⠶§¹®¿¡ interface´Â abstract¸Þ¼­µåÀÇ Æ¯Â¡À» ±×´ë·Î °¡Áö°í ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ interface´Â ÀÛ¾÷ÀÇ ·¹º§ ºÐÇÒÀ» À§Çؼ­ »ç¿ëµÇ±â º¸´Ù´Â ¿ÀÈ÷·Á °øµ¿ÀÛ¾÷À» À§ÇÑ ÀÎÅÍÆäÀ̽º¸¦ À§Çؼ­ »ç¿ëµË´Ï´Ù. ¾Ë°í º¸¸é interface°¡ ´õ Å« ¹üÀ§¸¦ °¡Áö°í ÀÖ´Ù´Â ´À³¦ÀÌ µé °ÍÀÔ´Ï´Ù. ¹°·Ð µÑ ´Ù Ŭ·¡½ºÀÇ ¼³°è¸¦ ÇÒ ¶§ »ç¿ëµÇ¾îÁöÁö¸¸ ¼³°èÀÇ ¾²ÀÓ»õ°¡ ´Ù¸¨´Ï´Ù.

 

´Ü¼øÈ÷ abstract´Â Ãß»ó¸Þ¼­µå¸¦ ´Ü Çϳª¶óµµ Æ÷ÇÔÇÑ´Ù¸é Ãß»ó Ŭ·¡½º°¡ µÇ°í interface´Â ¸ðµç ¸Þ¼­µå°¡ Ãß»ó ¸Þ¼­µå·Î ÀÌ·ç¾îÁ® ÀÖ´Ù¶ó°í »ý°¢ÇÑ´Ù¸é ¾öû³­ ¿À·ù¸¦ ¹üÇÏ°Ô µË´Ï´Ù. ´ÙÀ½À» Â÷±Ù Â÷±Ù µûÁ® º¸½Ã±â ¹Ù¶ø´Ï´Ù.

 

abstract

n        abstractŬ·¡½º´Â Ŭ·¡½ºÀÌ´Ù.

n        Ãß»ó¸Þ¼­µå¿Í ÀÏ¹Ý ¸Þ¼­µå ÀÏ¹Ý ¸â¹ö¸Þ¼­µå¸¦ °¡Áú ¼ö ÀÖ´Ù.

n        »ó¼ÓÀ» À§Çؼ­ extends¸¦ »ç¿ëÇÑ´Ù.

n        ¿ÀÁ÷ ´ÜÀÏÀûÀ¸·Î extends¸¦ »ç¿ëÇÑ´Ù.

n        ¸ðµç Ãß»ó ¸Þ¼­µå´Â ±¸ÇöÇÏ¿©¾ß »ç¿ëÇÒ ¼ö ÀÖ´Ù.

n        ÀÛ¾÷ÀÇ ·¹º§ ºÐÇÒÀ» À§Çؼ­ »ç¿ëµÈ´Ù.

n        upcastingÀÌ °¡´ÉÇÏ´Ù.

 

interface

n        ÀÎÅÍÆäÀ̽ºµµ Ŭ·¡½ºÀÇ ÀÏÁ¾ÀÌ´Ù. ƯÈ÷ Ãß»óŬ·¡½ºÀÇ ÀÏÁ¾ÀÌ´Ù.

n        Ãß»ó¸Þ¼­µå¿Í static final¸â¹öÇʵ常 °¡Áú ¼ö ÀÖ´Ù.

n        ±¸ÇöÀ» À§Çؼ­ implements¸¦ »ç¿ëÇÑ´Ù.

n        ¿©·¯ °³¸¦ Áߺ¹ÇÏ¿© implementsÇÒ ¼ö ÀÖ´Ù.

n        ¸ðµç Ãß»ó ¸Þ¼­µå¸¦ ±¸ÇöÇÏ¿©¾ß »ç¿ëÇÒ ¼ö ÀÖ´Ù.

n        °øµ¿ÀÛ¾÷À» À§ÇÑ »óÈ£°£ÀÇ ÀÎÅÍÆäÀ̽º¸¦ À§ÇØ »ç¿ëµÈ´Ù.

n        upcastingÀÌ °¡´ÉÇÏ´Ù.

 

 abstract¿Í interface¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸¸é¼­ ´ëºÎºÐÀÇ »çÇ×Àº ¾Ë¾Æ º¸¾Ò½À´Ï´Ù. ÇÏÁö¸¸ ¾ÆÁ÷ abstract¿Í interfaceÀÇ upcastingÀÇ È°¿ëÀ̶ó´Â Ãø¸éÀº ¾Ë¾Æ º¸Áö ¾Ê¾Ò½À´Ï´Ù. ÀÌ Àý¿¡¼­´Â ´Ü¼øÈ÷ abstract¿Í interface¸¦ Çѹø ºñ±³ ÇØ º¸´Â °ÍÀ» ³¡³»°Ú½À´Ï´Ù. ±×¸®°í ´ÙÀ½Àý¿¡¼­ ÁøÁ¤ÇÑ ÀǹÌÀÇ upcasting¿¡ °üÇØ¼­ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ
ÀúÀÚ:ÃÖ¿µ°ü