5Àå. Class for Polymorphism Java
´ÙÇü¼ºÀ̶ó°í´Â ÇÏÁö¸¸ ÀÚ¹Ù¿¡¼ ´ÙÇü¼ºÀ» ´ëÇ¥ÇÏ´Â °÷Àº ¾ÆÁÖ ¸¹Àº °÷¿¡ Á¸ÀçÇÕ´Ï´Ù. ´ÙÇü¼ºÀÇ °³³äÀÌ Àû¿ëµÇ´Â °÷À» µûÁ® º¼±î¿ä.
´ÙÇü¼ºÀÌ Àû¿ëµÇ¾îÁö°í ÀÖ´Â °÷
n OverloadingÀÇ »ç¿ëÀº ÇϳªÀÇ ¸Þ¼µå°¡ ¿©·¯ °¡ÁöÀÇ ±â´ÉÀ» °¡Áö°í ÀÖ½À´Ï´Ù.
n »ó¼ÓÀº ÇÑ ¹ø ¸¸µç Ŭ·¡½º¸¦ ´Ù½Ã »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
n OverridingÀº »ó¼ÓÀÇ °ü°è¿¡¼ Àç»ç¿ëÇÑ °ÍÀ» È®Àå ÇÒ ¼ö ÀÖ½À´Ï´Ù.
n UpcastingÀº ¾Æ¹öÁöÀÇ À̸§À¸·Î ¾ÆµéÀ» ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.]
n abstract¿Í interfaceÀÇ »ó¼Ó°ú ±¸Çö
´ÙÇü¼ºÀ̶õ ±Û ¶æ ±×´ë·Î ´Ù¾çÇÑ ÇüÅÂÀÇ ¼ºÁúÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ´Ù¾çÇÑ ÇüÅÂÀÇ ¼ºÁúÀÌ ÀÚ¹Ù¿¡¼ ÇÑ µÎ °¡ÁöÀԴϱî? º¸ÀÌ´Â °ÍÀÌ ÀüºÎ ´ÙÇü¼ºÀ» Áö¿øÇϰí Àִµ¥. ¹°·Ð »ó¼ÓÀÇ °³³ä ¼Ó¿¡¼ ³ªÅ¸³ª´Â ´ÙÇü¼ºÀÌ Á¦ÀÏ Å« ºÎºÐÀ» Â÷ÁöÇÕ´Ï´Ù. ±× Áß¿¡¼µµ UpcastingÀ̶ó´Â °³³äÀÌ ´ÙÇü¼ºÀ» ´ëÇ¥ÇÑ´Ù°í À̾߱â ÇÕ´Ï´Ù. ¿Ö³ÄÇϸé Upcasting¿¡¼ ´Ù¾çÇÑ ÇÁ·Î±×·¥À» ÇÒ ¼ö ÀÖ°Ô µµ¿Í ÁÖ´Â ºÎºÐÀÌ ¸¹±â ¶§¹®ÀÏ °ÍÀÔ´Ï´Ù.
UpcastingÀ» ¾Ë°íÀÚ ÇÑ´Ù¸é »ó¼ÓÀº ¹«Á¶°ÇÀûÀ¸·Î ¾Ë¾Æ¾ß µÇ°í Overriding°ú UpcastingÀº Á÷Á¢ÀûÀ¸·Î °ü·Ã ÀÖÀ¸´Ï ¹Ýµå½Ã ¾Ë¾Æ¾ß Çϸç abstract¿Í interface¿¡¼ ³ªÅ¸³ª´Â »ó¼Ó°ú ±¸ÇöÀÇ ¹®Á¦µµ ÀÌ Upcasting°ú Á÷Á¢ °ü·ÃÀÌ ÀÖ½À´Ï´Ù. ±×¸®°í °´Ã¼ ÇÒ´çÀ̶ó´Â Ãø¸éµµ °í·ÁÇØ¾ß ÇÕ´Ï´Ù. ¾Ë°í º¸¸é UpcastingÀº ´ëºÎºÐÀÇ °´Ã¼ °³³äµéÀ» ¸ð¾ÆµÐ °Í °°Àº ´À³¦ÀÌ °ÇÕ´Ï´Ù. ±×·¡¼ UpcastingÀÌ ÀÚ¹ÙÀÇ ´ÙÇü¼ºÀ̶ó°í À̾߱âµé ÇÏ´Â °Í °°½À´Ï´Ù. Upcasting ÀÚü´Â °ÅÀÇ Á¾ÇÕ ¿¹¼úÀÔ´Ï´Ù. ÀÚ¹Ù ÇÁ·Î±×·¥À» ÇÏ¸é¼ Á¾ÇÕ¿¹¼úÀº äÆÃÀ̰ÚÁö¸¸ ÀÚ¹Ù °³³ä¿¡¼ Á¾ÇÕ¿¹¼úÀº ¹Ù·Î UpcastingÀÔ´Ï´Ù.
¿ì¸®´Â »ó¼Ó ºÎºÐÀ» °øºÎÇÏ¸é¼ Upcasting¿¡ ´ëÇØ¼ ¡°UpcastingÀº ÀÌ·±°Å¾ß!¡± Á¤µµ¹Û¿¡´Â ¾ð±ÞÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ¹°·Ð Á¦´ë·Î ¼³¸íÇÏ·Á°í ÇÏ´Â »ç¶÷µµ ¾ø½À´Ï´Ù. UpcastingÀÌ µµ´ëü ¾îµð¿¡ ÁÁÀºÁöµµ ¸ð¸£°í ±×³É ±×·¸°Ô ÇÁ·Î±×·¥ÇÏ¸é µÈ´Ù°í »ý°¢Çؼ ´ëÃæ ÇÁ·Î±×·¥À» ÇÏ´Â °æ¿ì°¡ ¸¹½À´Ï´Ù. ¾Ë°í ÀÖ´Ù¸é ´ÙÇàÀ̰ÚÁö¸¸ ¸ð¸¥´Ù¸é ºÒÇàÇϰÚÁÒ. ±×·¡¼ ¾Æ¿¹ UpcastingÀÚü¸¦ ºÐÇØ ÇØ ¹ö¸±±î ÇÕ´Ï´Ù. ÀÌ Àå¿¡¼ ÇÙ½ÉÀûÀ¸·Î ´Ù·ç°í ÀÖ´Â abstract, interface, Upcasting, DowncastingÀº ¸ðµÎ ´ÙÇü¼ºÀ» Áö¿øÇϱâ À§ÇÑ °·ÂÇÑ µµ±¸ÀÔ´Ï´Ù. ÀÌ µéÀ» ºÐ¼®ÇØ ³ª°¡¸é¼ ÀÚ¹Ù¿¡¼ »ç¿ëµÇ´Â ´ÙÇü¼º¿¡ ´ëÇÑ ´À³¦À» ã¾Æ º¸°Ú½À´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ ÀúÀÚ:ÃÖ¿µ°ü |