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ºÎ ÀúÀÚ:ÃÖ¿µ°ü |