12-1-5.°¡»ó ÇÔ¼ö Å×À̺í

´ÙÇü¼ºÀº ÇϳªÀÇ ÄÚµå·Î ¿©·¯ °¡Áö µ¿ÀÛÀ» ¼öÇàÇÏ´Â °´Ã¼ÁöÇâÀÇ ¸ÚÁø ´É·ÂÀÌ´Ù. ÀÌ°ÍÀÌ °¡´ÉÇÑ ÀÌÀ¯´Â È£ÃâÇÒ ¸Þ¼­µå¸¦ ÄÄÆÄÀÏÁß¿¡ °áÁ¤ÇÏÁö ¾Ê°í ½ÇÇàÁß¿¡ ¼±ÅÃÇÏ´Â µ¿Àû ¹ÙÀεùÀ» Çϱ⠶§¹®ÀÌ´Ù. º¯¼ö¿¡ ½ÇÁ¦ Àü´ÞµÈ °´Ã¼ÀÇ Å¸ÀÔÀ» Á¡°ËÇÏ¿© Á¤È®ÇÑ ¸Þ¼­µå¸¦ È£ÃâÇϱ⠶§¹®¿¡ ¶È°°Àº ÄÚµå·Î ´Ù¾çÇÑ µ¿ÀÛÀ» ¼öÇàÇÑ´Ù.

±×·¸´Ù¸é µ¿Àû ¹ÙÀεùÀº ³»ºÎÀûÀ¸·Î ¾î¶»°Ô ±¸ÇöÇÏ´Â °ÍÀϱî? ÄÄÆÄÀÏ·¯´Â ½ÇÇà ÆÄÀÏÀ» ¸¸µé¾î ³»¸é ÀÓ¹«°¡ ³¡³ª¸ç ½ÇÇàÁß¿¡´Â ´õ ÀÌ»ó µ¿ÀÛÇÏÁö ¾Ê´Â´Ù. °á±¹ ÄÄÆÄÀÏ ´Ü°è¿¡¼­ ¸ðµç °ÍÀ» °áÁ¤ÇØ ³õÀ» ¼ö¹Û¿¡ ¾ø´Ù. ½ÇÇàÁß¿¡ ÀϾ ÀÏÀ» ÄÄÆÄÀÏ ´Ü°è¿¡¼­ ¹Ì¸® ¿¹ÃøÇÏ¿© Äڵ带 ¸¸µé¾î³»´Â °ÍÀº ¿øÄ¢ÀûÀ¸·Î ºÒ°¡´ÉÇÏ´Ù. ¹º°¡ Ư´ÜÀÇ ´ëÃ¥ÀÌ ÇÊ¿äÇÏ´Ù´Â ¾ê±â´Ù.

µ¿Àû ¹ÙÀεùÀ» ¾î¶»°Ô ±¸ÇöÇÒ °ÍÀΰ¡¿¡ ´ëÇؼ­´Â ¾ð¾î ¸í¼¼¿¡ º°´Ù¸¥ ¾ð±ÞÀÌ ¾øÀ¸¸ç ÄÄÆÄÀÏ·¯ Á¦Àۻ簡 ¾Ë¾Æ¼­ ÇÒ ÀÏÀÌ´Ù. ÄÄÆÄÀÏÁß¿¡ ¸ðµç °ÍÀ» °áÁ¤Çϸ鼭µµ ½ÇÇàÁß¿¡ ŸÀÔÀ» ÆÇ´ÜÇϵµ·Ï ±¸Á¶¸¦ ¸¸µé¾î¾ß ÇÏ´Â ¾î·Á¿î ¹®Á¦ÀÌ´Ù. µ¿Àû ¹ÙÀεù ±¸Çö ¹æ½ÄÀº ¿©·¯ °¡Áö°¡ Àִµ¥ ´ëºÎºÐÀÇ ¾ð¾î´Â vtableÀ̶ó´Â ¹æ¹ýÀ» »ç¿ëÇÑ´Ù.

vtableÀº Ŭ·¡½ºº°·Î ÀÚ½ÅÀÇ ¸Þ¼­µå ¹øÁö¸¦ µµÇ¥·Î ÀÛ¼ºÇØ ³õÀº ·è¾÷ Å×À̺íÀÌ´Ù. ÀÚ½ÅÀÌ ¼ÒÀ¯ÇÑ ¸Þ¼­µå´Â ¹°·ÐÀÌ°í »ó¼Ó¹ÞÀº ¸Þ¼­µå, ÀçÁ¤ÀÇÇÑ ¸Þ¼­µå¿¡ ´ëÇÑ ¹øÁöµµ ´Ù °¡Áö°í ÀÖ´Ù. ¸¸¾à »ó¼Ó¹ÞÀº ¸Þ¼­µå¸¦ ÀçÁ¤ÀÇÇÏÁö ¾Ê¾Ò´Ù¸é ºÎ¸ðÀÇ ¸Þ¼­µå¸¦ ´ë½Å °¡¸®Å²´Ù. ÀÌ Å¸ÀÔÀÇ °´Ã¼°¡ È£ÃâÇÒ ¸Þ¼­µå ¸ñ·ÏÀ» ¿Ïº®ÇÏ°Ô ±â¾ïÇØ µÎ´Â °ÍÀÌ´Ù.

°´Ã¼´Â ÀÚ½ÅÀÇ °íÀ¯ ¸â¹ö ¿Ü¿¡µµ ÀÚ½ÅÀÌ ¼Ò¼ÓµÈ Ŭ·¡½ºÀÇ vtable¿¡ ´ëÇÑ ÂüÁ¶ÀÎ vptrÀ» Çϳª¾¿ °¡Áö°í ÀÖ´Ù. Áï, °´Ã¼¸¶´Ù ÀÚ½ÅÀÌ ¾î¶² Ŭ·¡½ºÀÎÁö Á¤Ã¼¸¦ ¹àÈ÷µµ·Ï µÇ¾î ÀÖ´Ù. ¸Þ¼­µå¸¦ È£ÃâÇÏ¸é °´Ã¼ÀÇ vptr·ÎºÎÅÍ Å¬·¡½ºÀÇ vtableÀ» ã°í ¸Þ¼­µåÀÇ ¼ø¼­°ªÀ» ÂüÁ¶ÇÏ¿© vtable¿¡¼­ ½ÇÁ¦ ¸Þ¼­µåÀÇ ¹øÁö¸¦ ã¾Æ È£ÃâÇÑ´Ù. ÀÌ·¸°Ô Çϸé Ç×»ó Á¤È®ÇÑ ¸Þ¼­µå°¡ ¼±ÅÃÇÑ´Ù.

À§ ±×¸²ÀÇ kim °´Ã¼¿¡ ´ëÇØ intro¸¦ È£ÃâÇÏ¸é ´õ º¼ °Íµµ ¾øÀÌ HumanÀÇ intro¸¦ È£ÃâÇÑ´Ù. lee °´Ã¼ÀÇ intro°¡ ¾î¶² ¸Þ¼­µå¸¦ È£ÃâÇÒ °ÍÀΰ¡´Â StudentÀÇ ·è¾÷ Å×ÀÌºí¿¡ ÀÇÇØ °áÁ¤µÇ¸ç Á¤È®ÇÑ ¸Þ¼­µå´Â ÀçÁ¤ÀÇ ¿©ºÎ¿¡ µû¶ó ´Þ¶óÁø´Ù. »ó¼Ó¸¸ ¹Þ¾ÒÀ¸¸é Human.intro°¡ È£ÃâµÇ°í ÀçÁ¤ÀÇÇßÀ¸¸é Student.intro°¡ È£ÃâµÈ´Ù. lee.study°¡ È£ÃâÇÒ ¸Þ¼­µå´Â ÇöÀç·Î¼­´Â Student.study¹Û¿¡ ¾ø´Ù.

Human ŸÀÔÀÇ choi´Â Á¤Àû ŸÀÔÀº HumanÀÌÁö¸¸ ½ÇÁ¦ °´Ã¼´Â Student¿©¼­ StudentÀÇ ·è¾÷ Å×À̺íÀ» °¡¸®Å²´Ù. ÀÌ »óÅ¿¡¼­ choi.intro´Â HumanÀÇ intro¸¦ ¼±ÅÃÇÏÁö ¾Ê°í Student°¡ ÀçÁ¤ÀÇÇÑ intro¸¦ ¼±ÅÃÇÑ´Ù. Á¤Àû ŸÀÔ°ú µ¿Àû ŸÀÔÀÌ ´Ù¸¦ °æ¿ì¶óµµ vtableÀ» ÂüÁ¶Çϸé Ç×»ó µ¿Àû ŸÀÔÀ» µû¸£µµ·Ï µÇ¾î ÀÖ´Ù.

´ÙÇüÀû ±¸¹®¿¡ ´ëÇÑ ¹ø¿ªÀº ÄÄÆÄÀÏ ´Ü°è¿¡¼­ ¿Ï·áµÇ¾î ½ÇÇàÁß¿¡ ŸÀÔÀ» ÆǺ°ÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù. ±×·¯³ª vtable°ú vptr·Î ¿Ïº®ÇÑ Áغñ¸¦ ÇØ µÎ°í ÂüÁ¶¿¡ ÀÇÇØ ¸Þ¼­µå¸¦ ã´Â Äڵ带 ÀÛ¼ºÇØ µÎ¸é ¶È°°Àº È¿°ú¸¦ ³¾ ¼ö ÀÖ´Ù. Áï, µ¿Àû ¹ÙÀεùÀº ½ÇÇàÁß¿¡ ¼±ÅÃÀ» ÇÒ ¼ö ÀÖµµ·Ï ÄÄÆÄÀÏÁß¿¡ ¿Ïº®ÇÑ Áغñ¸¦ ÇØ µÎ´Â ¹æ½ÄÀ¸·Î ±¸ÇöµÈ´Ù. ±×·¯´Ù º¸´Ï µ¿Àû ¹ÙÀεùÀÌ Á¤Àû ¹ÙÀεùº¸´Ù ´À¸®°í ºñ´ëÇÒ ¼ö¹Û¿¡ ¾ø´Ù.