| 1 | ÇÔ¼öÀçÁ¤ÀÇ |
|
°´Ã¼ÁöÇâ °³³ä¿¡¼ Overloading¸¸ÅÀ̳ª Áß¿äÇÑ °ÍÀÌ ¹Ù·Î OverRidingÀÌ´Ù. ÇÔ¼öÀçÁ¤ÀǶõ »ó¼ÓÀ̶ó´Â °üÁ¡¿¡¼ ¹ß»ýÇÏ´Â ¹®Á¦Á¡ÀÌ´Ù. Áï A¶ó´Â Ŭ·¡½º¸¦ »ó¼Ó¹Þ¾Æ B¶ó´Â Ŭ·¡½º¸¦ ¸¸µé¾úÀ» ¶§ A°¡ °¡Áö°í ÀÖ´ø ÇÔ¼ö¸¦ B¶ó´Â Ŭ·¡½º°¡ ´Ù½Ã ¸¸µé°íÀÚ ÇÒ ¶§ ´ç¿¬È÷ B¶ó´Â Ŭ·¡½º¿¡ Á¸ÀçÇÏ´Â ÇÔ¼ö¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù. À̰ÍÀº ¹Ù·Î ¾Æ¹öÁö¿¡ ÀÖ´ø ÇÔ¼ö¸¦ ¾ÆµéÀÌ ¹«½ÃÇϰí ÀÚ½ÅÀÌ ¸¸µç °ÍÀ» »ç¿ëÇϰíÀÚÇÏ´Â °ÍÀÌ´Ù. |
| 2 | ÇÔ¼ö ÀçÁ¤ÀÇ¿¡¼ ³ªÅ¸³ª´Â Çö»ó |
|
¾Æ¹öÁöÀÇ ÇÔ¼ö¸¦ ¾ÆµéÀÌ ´Ù½Ã ¸¸µé¾ú´Ù¸é À̰ÍÀº ¾ÆµéÀÌ ´õ¿í ¹ßÀü½ÃŰ°Å³ª ¾Æ´Ï¸é ¾Æµé¸¸ÀÇ Æ¯¼ºÀ» °¡Áø °ÍÀ¸·Î ¸¸µç °ÍÀÏ °ÍÀÌ´Ù. ´ç¿¬È÷ ¾ÆµéÀº ¾Æ¹öÁöÀÇ °Íº¸´Ù´Â ÀÚ½ÅÀÇ °ÍÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. À̰ÍÀº ¾Æ¹öÁöÀÇ ¸ðµç°ÍÀ» »ó¼ÓÀ̶ó´Â Ư¼öÇÑ µµ±¸¸¦ ÅëÇØ¼ ¾ÆµéÀº ¸ðµÎ ¹Þ¾Æ µéÀÌ°í ¾Æ¹öÁö°¡ °¡Áö°í ÀÖ´ø °ÍÁß ²ÀÇÊ¿äÇÑ °Í¸¸ ÀçÁ¤ÀÇÇÑ´Ù¸é ¿ì¸®´Â ¾Æ¹öÁöÀÎ ³ª¸¦ ¸¸µé ¼ö ÀÖ´Ù. À̰ÍÀº ¾ÆÁÖ À¯¿ëÇϸç ÀÚ¹Ù¿¡¼ ÇÔ¼ö ÀçÁ¤ÀǸ¦ »©¸é ½Ãü°¡ µÇ¾î¹ö¸± Á¤µµ·Î ¾ÆÁÖ Áß¿äÇÑ ¹®Á¦ÀÌ´Ù. |
| 3 | ¾Æ¹öÁö¸¦ ¿ÏÀüÈ÷ ¹«½ÃÇÏÁö´Â ¾Ê´Â´Ù. |
|
¾Æ¹öÁö ¹«½ÃÇϱâ Áï, ÇÔ¼ö ÀçÁ¤ÀǸ¦ ÇßÀ» ¶§ ¾Æ¹öÁö¸¦ ¿Ïº®ÇÏ°Ô ¹«½ÃÇÑ´Ù¸é ¾Æ¹öÁöÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÏ°í ½ÍÀ» ¶§´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. Áï À̰ÍÀÇ ¹æ¹ýÀ» ÀÚ¹Ù¿¡¼´Â super¶ó´Â ¾Æ¹öÁöÀÇ ÂüÁ¶°ªÀ» µÎ¾î ÇØ°áÇϰí ÀÖ´Ù. ¾ÆµéÀº super¶ó´Â ¾Æ¹öÁöÀÇ ÂüÁ¶°ªÀ¸·Î ¾Æ¹öÁöÀÇ ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. |
| 4 | Overriding¿¹Á¦ |
|
//¾Æ¹öÁö¹«½ÃÇϱâ(Overriding) //±âÁ¸¿¡ Á¤ÀǵǾî ÀÖ´Â ClassÀÇ method¸¦ »ó¼Ó¹Þ¾Æ¼ ÀڽŸ¸ÀÇ »õ·Î¿î method¸¦ ÀçÁ¤ÀÇÇÏ´Â °ÍÀ» OverridingÀ̶ó ÇÑ´Ù. //OverridingÇϱâ À§Çؼ´Â Method name, Return type, Argument list°¡ °°¾Æ¾ß ÇÑ´Ù. class GrandFather
class Father extends GrandFather
class Son extends Father
public class Overriding GrandFather gf = new GrandFather(); Father f = new Father(); Son s = new Son(); |
| °á°ú Ãâ·Â |
³ ÇҾƹöÁö´Ù ³ ÇҾƹöÁö´Ù ¾ÆÁ÷ ¾ÆµéÀÌ´Ù |
| ¼³¸í |
ÇҾƹöÁö´Â printÇÔ¼ö¸¦ °¡Áö°í ÀÖ´Ù. ¾Æ¹öÁö´Â ÇҾƹöÁöÀÇ print¿Í ¾Æ¹öÁöÀÇ printµÎ°³ÀÇ ÇÔ¼ö¸¦ °¡Áö°í ÀÖ´Ù. À̶§ ¾î´À°ÍÀ» ¾µ °ÍÀΰ¡. ÇҾƹöÁö°ÍÀº ¹«½ÃµÇ¾îÁø´Ù. ¾ÆµéÀº ÇҾƹöÁöÀÇ print ¾Æ¹öÁöÀÇ print ÀÚ½ÅÀÇ print 3°³ÀÇ printÇÔ¼ö¸¦ °¡Áö°í ÀÖ´Ù. »ó¼ÓÀ» ¹Þ¾Ò±â ¶§¹®¿¡ ÀüºÎ 3°³°¡ µÇ´Â °ÍÀÌ´Ù. ¾î´À°ÍÀ» »ç¿ëÇÒ °ÍÀΰ¡. ´ç¿¬È÷ À Á¶»óÀÇ °ÍÀº ÀüºÎ ¹«½ÃµÇ¾îÁø´Ù. ³Ê¹«³ª ´ç¿¬ÇÑ À̾߱âÁö¸¸ À̰ÍÀÌ OverridingÀÌ´Ù. |