ÇÁ·Î±×·¡¹ÖÀ̶õ °ÍÀ» ÇÑÁö°¡ ³»³âÀ̸é 20³âÀÌ´Ù. ÄÄÇ»ÅÍ°¡ °ÔÀÓÀ» À§ÇÑ °ÍÀÌ ¾Æ´Ï¶ó ÇÁ·Î±×·¡¹Öµµ ÇÒ ¼ö ÀÖ´Â -³²ÀÌ ¸¸µç °ÍÀ» ÇÏ´Â °ÍÀÌ ¾Æ´Ñ ÀÚ½ÅÀÌ ¹º°¡¸¦ ¸¸µé ¼öµµ ÀÖ´Â- ¹°°ÇÀ̶õ °ÍÀ» ±ú´Ý°Ô µÇ°í¼´Â ÀÌ ¼¼»óÀÇ ¸ðµç °ÍÀ» Á¦ÃÄµÎ°íµµ °¡Àå ¸ôÀÔÀ» ÇÏ´Â ÀÏÀÌ µÇ¾ú´Ù. ´ç½Ã´Â º£ÀÌÁ÷°ú ¾î¼Àºí·¯¸¸ »ç¿ëÇß¾ú´Âµ¥, ÀüÇô °øÇÐÀûÀÌÁöµµ ¾Ê°í ±¸Á¶ÀûÀÌÁöµµ ¾Ê¾ÒÁö¸¸ '±Ù¼º'À¸·Î ÄÚµùÀ» Çß´Ù. ¾ÈµÇ¸é µÉ ¶§±îÁö Çß´Ù.
92³âµµ¿¡´Â ÀýÂ÷ÀûÀÎ ¾ð¾îÀÇ Ã¶ÇÐÀ» ±ú´Þ¾Ò°í, 95³âµµ¿¡´Â °´Ã¼ÀûÀÎ ¾ð¾îÀÇ Ã¶ÇÐÀ» ±ú´Þ¾Ò´Ù. 2000³âµµ µé¾î ¼¼´Â ÅÛÇø´ ÇÁ·Î±×·¡¹ÖÀ̳ª ¸ÞŸ ÇÁ·Î±×·¡¹ÖÀ̳ª µðÀÚÀÎ ÆÐÅϵîÀ» ±ú´Ý°Ô µÇ¾ú´Ù. (¿©±â¼ÀÇ '±ú´Ý´Ù'´Â âÁ¦ öÇи¦ ÀÌÇØÇÏ°Ô µÇ¾ú´Ù´Â ÀǹÌÀÌÁö ¾ÆÁÖ ÀßÇÑ´Ù´Â ¶æÀº ¾Æ´Ï´Ù) ±×¸®°í ³» ºÐ¾ß¿¡¼ ÇÁ·Î±×·¡¹Ö ¾ð¾î³ª Æз¯´ÙÀÓ ¶§¹®¿¡ °ï¶õÀ» °Þ´Â ÀÏÀº ¾øÀ» Á¤µµ·Î ±×·°Àú·° ¸Ô°í »ì°í ÀÖ´Ù.
±×!·¯!³ª! ... ¿ÃÇØ µé¾î¼ ºÎ½ ȸÀÇ°¡ µå´Â °ÍÀÌ ÀÖ´Ù.
- OOP°¡ Á¤¸» ÆíÇÑ°¡? - µðÀÚÀÎ ÆÐÅÏÀ» ¸Í½ÅÇÒ ÇÊ¿ä°¡ Àִ°¡? - templateÀº ÆíÇÏÁö¸¸, °ú¿¬ ÇÁ·Î±×·¡¹ÖÀ» ½±°Ô Çϱâ À§ÇÑ °ÍÀΰ¡?
¸»ÇÏÀÚ¸é ³¡µµ ¾øÁö¸¸, ³»°¡ »ý°¢ÇÏ°í ÀÖ´Â °ÍÀ» ±Ø´ÜÀûÀ¸·Î ¸»ÇÏÀÚ¸é C ¹æ½ÄÀ¸·ÎÀÇ È¸±ÍÀÌ´Ù. (´Ü namesapce, ¿¹¿Ü 󸮴 Á¸Àç) ¹°·Ð C++Àº ´ÙÁß Æз¯´ÙÀÓ ¾ð¾îÀ̱⠶§¹®¿¡ ³»°¡ ¿øÇÏ´Â ¹æ½ÄÀ¸·Î ÄÚµùÀ» Çϱ⸸ ÇÏ¸é µÈ´Ù.
³»°¡ ¾²±â¿¡ ÆíÇÏ´Ù°í Çؼ, º¹ÀâÇÑ class °èÅëµµ°¡ µé¾î°£ ¼³°è³ª, ±â±³°¡ µé¾î°£ templateÀ» ¾´´Ù¸é °øµ¿ ÀÛ¾÷ÀÌ º¹ÀâÇØÁø´Ù. ÇÁ·Î±×·¡¹ÖÀ̶õ °ÍÀÌ È¥ÀÚ¸¸ÀÇ ³îÀÌ°¡ ¾Æ´Ñ, °øµ¿ÀÇ ¼öÀÍÀ» âÃâÇϱâ À§ÇÑ ¼ö´ÜÀ̶ó°í ÇÑ´Ù¸é ÃæºÐÈ÷ ½±°Ô ÀÛ¼ºµÇ¾î¾ßÇÒ ÀÌÀ¯°¡ µÉ ¼ö ÀÖ´Ù. °°ÀÌ ÀÏÇÏ°Ô µÉ ÈĹ踦 ºü¸¥ ½Ã°£ ³»¿¡ ÀÚ½ÅÀÇ µçµçÇÑ µ¿·á·Î ¸¸µé±â À§Çؼ¶óµµ ÄÚµå´Â ½±°Ô ÀÛ¼ºµÇ¾î¾ß ÇÑ´Ù.
ÄÚµù ±× ÀÚü·Î´Â ±×¸® ÁøÀÔÀ庮ÀÌ ³ôÁö ¾Ê´Ù°í »ý°¢ÇÑ´Ù. ÀϺΠÄÚ´õµéÀº ÀÚ½ÅÀÌ ÇÏ´Â ÀÏÀÌ ¾ÆÁÖ Àü¹®ÀûÀÎ ºÐ¾ßÀε¥µµ ´ëÁ¢À» ¸ø ¹Þ´Â´Ù°í »ý°¢ÇÏ´Â µí ÇÏÁö¸¸, Àü¹®ÀûÀÌÁö ¾Ê±â ¶§¹®¿¡ »çȸ¿¡¼ ´ëÁ¢À» ¸ø ¹Þ´Â °ÍÀÌ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ ¿Ïº®ÇÑ ÀÌÇظ¸ °¡Áö°í´Â ±×Àú Æò¹üÇÑ ÄÚ´õÀÏ»ÓÀÌ°í, ¹®Á¦ ÇØ°á ´É·ÂÀ» Á¦´ë·Î °®Ãß¾î¾ßÁö¸¸ Àü¹®°¡¿¡ ´Ù°¡°¥ ¼ö°¡ ÀÖ´Ù.
ÀÌ À̾߱⸦ ½ÃÀÛÇÑ ÀÌÀ¯´Â, ³»°¡ § Äڵ带 µð¹ö±ë Çϱ⠾î·Æ´Ù´Â À̾߱⸦ ÃÖ±Ù¿¡ ¸¹ÀÌ µé¾ú±â ¶§¹®ÀÌ´Ù. ³»ºÎ ÄÚµù ±ÔÄ¢¿¡ ÀÇÇØ templateÀ» ¾µ ¼ö ¾ø´ø ½ÃÀý¿¡ ¸¸µç MACRO ÇÁ·Î±×·¡¹Ö ¶§¹®Àε¥, Áߺ¹µÇ´Â Äڵ带 ÁÙÀ̱â À§ÇØ 3~4ÁßÀ¸·Î MACRO°¡ Á¶ÇյǴ °ÍÀÌ ¿¹»ç¿´´Ù. Áö±ÝÀº ³»ºÎ Äڵ忡 templateÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯´Ù º¸´Ï µµ¸®¾î ³»ºÎ Äڵ尡 'Modern C++ Design'¿¡³ª ³ª¿Ã ¹ýÇÑ º¹ÀâÇÑ Äڵ尡 µÇ¾ú´Ù. ¸¸µç »ç¶÷Àº ±²ÀåÈ÷ À¯¿¬ÇÏ°í ÆíÇÏ°Ô »ç¿ëÇÏ°í È®Àåµµ ÇÒ ¼ö ÀÖÁö¸¸, ±× Äڵ带 Àаųª µð¹ö±ë ÇØ¾ß ÇÏ´Â »ç¶÷¿¡°Ô´Â °í¿ªÀÌ´Ù.
¸ðµç ÄÚ´õ°¡ 'Modern C++ Design' ¼öÁØÀÇ ³»¿ëÀ» ÀÌÇØÇÒ ÇÊ¿ä´Â ¾ø´Ù°í »ý°¢ÇÑ´Ù. ÆÀ¿ø ¸ðµÎ°¡ ÇϳªÀÇ ¸ñÇ¥¸¦ ´Þ¼ºÇϱâ À§ÇÑ ¼ö´ÜÀ¸·Î ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇÑ´Ù¸é, ±× ¾ð¾î´Â ½±°í °£°áÇÏ°Ô(Low context·Î) »ç¿ëÇØ¾ß ÇÑ´Ù.
ps. ±×·±µ¥ ¿ª¼³ÀûÀ¸·Î, 'Modern C++ Design'Àº C++ °ü·Ã Ã¥ Áß¿¡ ÃÖ°í ¸íÀÛÀ̶ó »ý°¢ÇÑ´Ù.
1. ¿ÕdzµÀÌ £º¸¶Ä¡ ÀÚ±â ÆíÇÑ´ë·Î uv¸ÊÀ» ¸¾´ë·Î ÆîÄ£ ±×·¡ÆÛÀÇ ÈÄÀÓº´ÀÌ ÇظÅÀÌ´Â °Í°ú °°Àº °ÍÀÌ¶ó º¼¼öÀÖ±º¿ë... -> '¸¶À½´ë·Î'¿¡ ÇØ´çÇÏÁö´Â ¾Ê°í¿ä, ÀÏ¹Ý ¾ð¾î·Î À̾߱â ÇÏÀÚ¸é "¸íÀÏ °³ÀΠȱ⠼öÀÔÈÄ, »ç¿ª 2¸í ´ë±â ¹Ù¶÷"À» "³»ÀÏ ÃÑ ´Û°í³ª¼ ½Ãų ÀÏÀÌ ÀÖÀ¸´Ï ÀÏ ÇÒ »ç¶÷ 2¸í »Ì¾Æ¼ Áغñ½ÃÅ°½Ã¿À'¶ó´Â ¸»·Î ½±°Ô »ç¿ëÇØ¾ß ÇÑ´Ù´Â ÀǹÌÀÔ´Ï´Ù. [05/20]
|
|