±Û¾´ÀÌ :Retiree 1998³â 3¿ù 05ÀÏ 11:49:11
In Reply to: [!]Polymorphism posted by ±è¿ìÁ¾ on 1998³â 3¿ù 04ÀÏ 18:36:22:
Á» ´õ ¾ð¾îÀÇ È帧À» µû¶ó¼ ¾ê±â¸¦ ÇÏÁö¿ä.
1. ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀº Ç×»ó ¸Þ¸ð¸®¿¡ Á¸À縦 ÇØ¾ß ÇÑ´Ù.
ÇÁ·Î±×·¥ ¼Ò½º¸¦ ÄÄÆÄÀÏ/¸µÅ©¸¦ Çϸé Code¿Í Data·Î Å©°Ô ³ª´©¾îÁø´Ù.
ÀÌ µÎ °³´Â ½ÇÇà½Ã¿¡ ƯÁ¤ ¸Þ¸ð¸® ÁÖ¼Ò ¿µ¿ª¿¡ ÀÖ°Ô µË´Ï´Ù.
»ùÇÃÀ» º¸Áö¿ä..
Parent polymorphism = new Child();
polymorphism.thisFunction();
ÄÄÆÄÀÏÀ» Çϸé Parent.thisFunction()°ú Child.thisFunction()Àº °¢°¢ ƯÁ¤ ÁÖ¼Ò¿¡ À§Ä¡ÇÏ°Ô µË´Ï´Ù.
*** (ŸÀÔ, °´Ã¼)°¡ °¡Àå Áß¿äÇÕ´Ï´Ù. ***
Procdure Language(C++¿¡¼ CºÎºÐ)ÂÊ »ý°¢ÀÇ Æ²À» µû¸£¸é
thidFunction()À» È£ÃâÇÏ´Â °ÍÀº °ú¿¬ ¹«½¼ ŸÀÔÀΰ¡?
Parent TypeÀÔ´Ï´Ù. ±×·¸Áö¿ä....
±×·¯¹Ç·Î thisFunction()Àº Parent.thisFunction()ÀÇ ÁÖ¼Ò¸¦ È£ÃâÇÕ´Ï´Ù.
OOPL(Java, C++ÀÇ OOPLºÎºÐ)ÂÊ »ý°¢ÀÇ Æ²À» µû¸£¸é
thidFunction()À» È£ÃâÇÏ´Â °ÍÀº °ú¿¬ ¹«½¼ °´Ã¼Àΰ¡?
Child TypeÀÇ °´Ã¼ÀÔ´Ï´Ù.
±×·¯¹Ç·Î thisFunction()Àº Child.thisFunction()ÀÇ ÁÖ¼Ò¸¦ È£ÃâÇÕ´Ï´Ù.
-----
C++Àº À§ÀÇ µÎ °³ÀÇ ¸ðµç ±â´ÉÀ» ¼ö¿ëÇØ¾ß ÇÕ´Ï´Ù.
¿Ö³ÄÇÏ¸é ±âÁ¸ÀÇ C¹æ½Ä°ú »õ·Î¿î OOPLÀûÀÎ ºÎºÐÀ» ¸ðµÎ °¡Á®¾ß ÇϹǷÎ.
±×·¡¼ C++¿¡¼´Â virtualÀ̶ó´Â »õ·Î¿î Å°¿öµå¸¦ ¸¸µé¾î½À´Ï´Ù.
ÀÌ´Â C¹æ½Ä°ú OOPL¹æ½ÄÀ» ±¸º°Çؼ »ç¿ëÇÒ ¼ö ÀÖ´Â Áß½ÉÀÔ´Ï´Ù.
ÀÚ¹Ù´Â OOPL¹æ½ÄÀ¸·Î ó¸®Çϵµ·Ï µÇ¾î ÀÖ½À´Ï´Ù.
-------
´ÙÇü¼ºÀ̶ó´Â °ÍÀº ¸ðµç OOPLÀÌ ±×·± °ÍÀº ¾Æ´Ï°ÚÁö¸¸,
Á¦°¡ ¾Æ´Â Çѵµ ³»¿¡¼´Â ÇÔ¼ö¿¡ ´ëÇؼ¸¸ Áö¿øÀ» ÇÕ´Ï´Ù.
À§ÀÇ »ùÇÿ¡¼ nameÇʵå´Â ´ÙÇü¼ºÀûÀÎ ¿ä¼Ò¸¦ °¡ÁöÁö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù.
thisFunction()À» È£ÃâÇÏ´Â ´ë½Å¿¡ nameÀ» Ãâ·ÂÀ» ÇØ º¸¼¼¿ä..
±×·³.
Retiree of THMA