´«°ú Á÷°ü¸¸À¸·Îµµ ´©±¸³ª ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Â ¸íÇ° C++ °ÁÂ
ÀÌ Ã¥Àº ºñÆ®±³À°¼¾ÅÍ ÃÊ´ë ¼¾ÅÍÀåÀ¸·Î¼ µ¶Ã¢ÀûÀÎ ½ÇÀü ÇÁ·ÎÁ§Æ® ¾ÆÀ̵ð¾î·Î ¼ö¸¹Àº IT Àü¹®°¡¸¦ ¹èÃâÇÏ¿´À¸¸ç, 2013³â ÇöÀç ¼ö¸¹Àº ´ëÇÐÀÇ ÀÚ¹Ù °Á¿¡¼ ¾²ÀÌ´Â <¸íÇ° JAVA Programming>ÀÇ ÀúÀÚÀΠȲ±âÅ ±³¼ö°¡ 20¿© ³â¿¡ °ÉÄ£ ÇÁ·Î±×·¡¹Ö ¾ð¾î °³¹ß °æÇè°ú °ÀÇ °æÇèÀ» ¸ðµÎ ½ñ¾ÆºÎ¾î ¸¸µç Ã¥ÀÌ´Ù.
¡®ºñÆ® ±³À°ÀÇ ½ÅÈ¡¯¸¦ âÁ¶ÇÑ ÀúÀÚ´ä°Ô ÀÌ Ã¥Àº C++ ¾ð¾îÀÇ ÇÁ·Î±×·¡¹Ö ±â¼úÀ» ½ºÅ丮¸¦ ¿«µíÀÌ ½±°Ô Ç®¾î³»¾î C¾ð¾î¸¦ óÀ½ Á¢ÇÏ´Â À̵鵵 °³³äÀ» ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ÇÏ°í ÀÖ´Ù. ´õ¿íÀÌ ³»¿ëÀ» ½±°Ô ÀÌÇØÇϵµ·Ï ±×¸²°ú »ðȸ¦ ´Ù¾çÇÏ°Ô ±¸¼ºÇÏ°í ÀÖÀ¸¸ç, ¼Ò½º Äڵ尡 ÇÑ´«¿¡ µé¾î¿Àµµ·Ï ÇØ´ç ¼Ò½º Äڵ忡 ÁÖ¼®À» ´Þ¾Æ ¼Ò½º Äڵ忡 ´ëÇÑ ¼³¸í°ú °á°ú°¡ ÇÑ´«¿¡ µé¾î¿Àµµ·Ï ÇÏ°í ÀÖ´Ù. ¸» ±×´ë·Î ´«°ú Á÷°ü¸¸À¸·Îµµ ÀÌÇØÇÒ ¼ö ÀÖ´Â ÀÌ ¼¼»ó¿¡ ´Ü Çϳª¹Û¿¡ ¾ø´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î Ã¥ÀÌ´Ù.
¼ÒÇÁÆ®¿þ¾î Àü¹®°¡°¡ µÇ±â À§ÇÑ C++ ¾ð¾îÀÇ Ãæ½ÇÇÑ ÀÌÇؼ
C++´Â ½Ã½ºÅÛ ¼ÒÇÁÆ®¿þ¾î, ÀÀ¿ë ¼ÒÇÁÆ®¿þ¾î, °ÔÀÓ, µð¹ÙÀ̽º µå¶óÀ̹ö, ÀÓº£µðµå ¼ÒÇÁÆ®¿þ¾î, ¸ð¹ÙÀÏ ÇÁ·Î±×·¥ µî ¼ÒÇÁÆ®¿þ¾îÀÇ Àü ºÐ¾ß¿¡ È°¿ëµÇ°í ÀÖ´Ù. ¶ÇÇÑ C++´Â ¿î¿µÃ¼Á¦, Çϵå¿þ¾î, ÀÀ¿ë ºÐ¾ß¸¦ °¡¸®Áö ¾Ê°í, ´Ù¸¥ °´Ã¼ ÁöÇâ ¾ð¾îÀÎ Java³ª C#¿¡ ºñÇØ ½ÇÇà ¼Óµµ°¡ ºü¸£¸ç, ¸Þ¸ð¸®³ª I/O Æ÷Æ®¸¦ Á÷Á¢ Á¢±ÙÇϹǷΠÇϵå¿þ¾î Á¦¾î¿¡ °Á¡À» °¡Áø´Ù.
ÀÌó·³ C++´Â ±¤¹üÀ§Çϸ鼵µ Æı«·Â ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÌ°í, Java³ª C# µî Çö´ëÀû °´Ã¼ ÁöÇâ ¾ð¾î¸¦ ³º°Ô ÇÑ ¸ðÅ ¾ð¾îÀ̹ǷÎ, ¼ÒÇÁÆ®¿þ¾î Àü¹®°¡·Î¼ źźÇÑ ±â¹ÝÀ» °®Ãß±â À§Çؼ¶ó¸é C++ ¾ð¾î¿¡ ´ëÇÑ ÀÌÇØ°¡ ÇÊ¿äÇÏ´Ù. ÀÌ Ã¥Àº Á¤°îÀ» Â´Â ÇÙ½ÉÀ» ´ãÀº À̷аú ¸í·áÇÑ ¹®Á¦ Á¦½Ã, ½ÇÇà °á°ú¸¦ »ðÀÔÇÑ ½ÇÀü ¹®Á¦µéÀ» ´ã°í ÀÖ¾î À̷аú ½ÇÀüÀ» °âºñÇÑ ÅºÅºÇÑ ±â¹ÝÀÇ ¼ÒÇÁÆ®¿þ¾î Àü¹®°¡°¡ µÇ±â À§ÇØ ¹Ýµå½Ã º¸¾Æ¾ß ÇÏ´Â C++ ¾ð¾îÀÇ Ãæ½ÇÇÑ ÀÌÇؼÀÌ´Ù.
ÀÌ Ã¥ÀÇ Æ¯Â¡
³»¿ëÀ» ½±°Ô ÀÌÇØÇϵµ·Ï µ½´Â ¼³¸í°ú »ðÈ
C++ ¾ð¾îÀÇ ÇÁ·Î±×·¡¹Ö ±â¼úÀ» ½ºÅ丮¸¦ ¿«µíÀÌ ½±°Ô Ç®¾î³»´Â ¼³¸í°ú ±×¸²À¸·Î ±¸¼ºÇÏ°í ÀÖ¾î C++ ¾ð¾î¸¦ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù.
´«°ú Á÷°ü¸¸À¸·Îµµ ÀÌÇØÇÒ ¼ö ÀÖ´Â ±¸¼º
Å°¿öµå °Á¶, ÇÏÀ̶óÀÌÆÃ, ¸»Ç³¼±, ±×¸², »ðÈ, ´Ù¾çÇÑ »ö µîÀÌ ¾î¿ì·¯Á® ´«°ú Á÷°ü¸¸À¸·Îµµ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù.
´Ù¾çÇÑ ¹®Á¦¸¦ ÅëÇØ ½ÇÀü °¨°¢ ÀÍÈ÷±â
Check Time ¹®Á¦, È°¿ë ¿¹Á¦¿Í ½Ç½À ¿¹Á¦, Open Challenge ÇÁ·ÎÁ§Æ® ¹®Á¦, ÀÌ·Ð ¹× ½Ç½À ¿¬½À¹®Á¦·Î ½ÇÀü °¨°¢À» Á¡ÁøÀûÀ¸·Î Å°¿ï ¼ö ÀÖµµ·Ï ±¸¼ºÇÏ¿´´Ù. Open Challenge ¹®Á¦´Â Àç¹ÌÀÖ´Â ³»¿ëÀ¸·Î ¿«¾î µ¶ÀÚ ½º½º·Î Èï¹Ì¸¦ °¡Áö°í µµÀüÇØ º¼ ¼ö ÀÖµµ·Ï ÇÏ°í ÀÖ´Ù.
ÇÙ½ÉÀ» ´ãÀº ¹®Á¦¿Í µ¶Ã¢ÀûÀÎ ÄÚµù ¹®Á¦
Á¤°îÀ» Â´Â ÇÙ½ÉÀ» ´ãÀº ÀÌ·Ð ¹®Á¦, ¸í·áÇÑ ¹®Á¦ Á¦½Ã¿Í ½ÇÇà °á°ú¸¦ »ðÀÔÇÑ ½ÇÀü ¹®Á¦µéÀº °¢ ÀåÀÇ ÁÖÁ¦¿¡ ¸Â´Â µ¶Ã¢ÀûÀÎ ÄÚµù ¹®Á¦¿Í ÇÔ²² ³À̵µº°·Î ±¸¼ºÇÏ¿´´Ù. µû¶ó¼ µ¶ÀÚ°¡ ¾î¶² Äڵ带 ÀÛ¼ºÇØ¾ß ÇÏ´ÂÁö ºÐ¸íÈ÷ ÇÏ°í ÀÖ´Ù.
ÀÌ Ã¥ÀÇ ³»¿ë
1ÀåÀº C++ ¾ð¾î¿¡ ´ëÇؼ ¼³¸íÇÑ´Ù. C++ ¾ð¾îÀÇ ¿ª»ç¿Í Ư¡À» ¾Ë¾Æº¸°í C++ ÇÁ·Î±×·¥ÀÇ °³¹ß °úÁ¤À» ¼³¸íÇÑ´Ù. 2ÀåÀº C++ ÇÁ·Î±×·¡¹ÖÀÇ ±âº»¿¡ ´ëÇؼ ¼³¸íÇÑ´Ù. C++ ÇÁ·Î±×·¥ÀÇ ±âº» ¿ä¼Ò¿Í ȸé Ãâ·Â¿¡ ´ëÇØ ¾Ë¾Æº¸°í ¹®ÀÚ¿À» ´Ù·ç´Â ¹æ¹ý°ú Å°º¸µå·ÎºÎÅÍ ¹®ÀÚ¿À» ÀԷ¹޴ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. 3ÀåÀº Ŭ·¡½º¿Í °´Ã¼¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. °´Ã¼, Ŭ·¡½º, »ý¼ºÀÚ, ¼Ò¸êÀÚ, Á¢±Ù ÁöÁ¤, ÀζóÀÎ ÇÔ¼ö, C++ ±¸Á¶Ã¼¿¡ ´ëÇØ ÀÌÇØÇÏ°í ¹Ù¶÷Á÷ÇÑ C++ ÇÁ·Î±×·¥ÀÇ ÀÛ¼º °úÁ¤À» ¾Ë¾Æº»´Ù.
4ÀåÀº °´Ã¼ Æ÷ÀÎÅÍ¿Í °´Ã¼ ¹è¿, µ¿Àû ¸Þ¸ð¸® ÇÒ´ç ¹× ¹Ýȯ, °´Ã¼¿Í °´Ã¼ ¹è¿ÀÇ µ¿Àû »ý¼º ¹× ¹Ýȯ¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ¶ÇÇÑ thisÀÇ ±âº» °³³ä°ú Á¦¾à Á¶°Ç, string Ŭ·¡½º¸¦ ÀÌ¿ëÇÑ ¹®ÀÚ¿ »ç¿ë¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. 5ÀåÀº ÇÔ¼ö¿Í ÂüÁ¶, º¹»ç »ý¼ºÀÚ¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. °ª¿¡ ÀÇÇÑ È£Ãâ, ÁÖ¼Ò¿¡ ÀÇÇÑ È£Ãâ, °´Ã¼ ġȯ ¹× °´Ã¼ ¸®ÅÏ, ÂüÁ¶¿Í ÇÔ¼ö¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ¶ÇÇÑ ±íÀº º¹»ç¿Í ¾èÀº º¹»ç¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. 6ÀåÀº ÇÔ¼ö Áߺ¹°ú static ¸â¹ö¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. µðÆúÆ® ¸Å°³ º¯¼ö, Çü º¯È¯À¸·Î ÀÎÇÑ ¸ðÈ£¼º, ÂüÁ¶ ¸Å°³ º¯¼ö·Î ÀÎÇÑ ¸ðÈ£¼º, µðÆúÆ® ¸Å°³ º¯¼ö·Î ÀÎÇÑ ¸ðÈ£¼ºÀ» ¾Ë¾Æº»´Ù. ¶ÇÇÑ static ¸â¹öÀÇ È°¿ë¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
7ÀåÀº ÇÁ·»µå¿Í ¿¬»êÀÚ Áߺ¹¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ÇÁ·»µåÀÇ °³³ä, ÀÌÇ× ¿¬»êÀÚ Áߺ¹, ´ÜÇ× ¿¬»êÀÚ Áߺ¹¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ¶ÇÇÑ ¿¬»êÀÚ ÇÔ¼ö¸¦ Ŭ·¡½ºÀÇ ¿ÜºÎ ÇÔ¼ö·Î ÀÛ¼ºÇÏ°í ÇÁ·»µå·Î ¼±¾ðÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. 8ÀåÀº »ó¼ÓÀÇ °³³ä, Ŭ·¡½º »ó¼Ó°ú °´Ã¼, »ó¼Ó°ú °´Ã¼ Æ÷ÀÎÅÍ, protected Á¢±Ù ÁöÁ¤¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ¶ÇÇÑ »ó¼ÓÀÇ Á¾·ù, ´ÙÁß »ó¼ÓÀÇ ¼±¾ð°ú È°¿ë, °¡»ó »ó¼ÓÀÇ ¼±¾ð°ú °¡»ó »ó¼ÓÀ¸·Î ´ÙÁß »ó¼ÓÀÇ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. 9ÀåÀº °¡»ó ÇÔ¼ö¿Í Ãß»óŬ·¡½º¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. »ó¼Ó °ü°è¿¡¼ÀÇ ÇÔ¼ö Áߺ¹°ú °¡»ó ÇÔ¼ö¿Í ¿À¹ö¶óÀ̵ùÀÇ È°¿ë »ç·Ê¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ¶ÇÇÑ Ãß»ó Ŭ·¡½ºÀÇ °³³ä, ±¸Çö, ¿ëµµ¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
10Àº ÅÛÇø´°ú Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®(STL)¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ÀϹÝÈÀÇ °³³äÀ» ÀÌÇØÇÏ°í ´Ù¾çÇÑ Á¦³×¸¯ ÇÔ¼ö¿Í Á¦³×¸¯ Ŭ·¡½º¸¦ ¸¸µé¾îº¸°í C++ Ç¥ÁØ ÅÛÇø´ ¶óÀ̺귯¸®(STL)¿Í È°¿ë¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. 11ÀåÀº C++ ÀÔÃâ·Â ½Ã½ºÅÛ¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ½ºÆ®¸² ÀÔÃâ·Â¿¡ ´ëÇØ ÀÌÇØÇÏ°í ¹®ÀÚ ÀÔÃâ·Â, Æ÷¸Ë ÀÔÃâ·Â, »ç¿ëÀÚ »ðÀÔ ¿¬»êÀÚ¿Í ÃßÃâ ¿¬»êÀÚ¿¡ ´ëÇØ ¾Ë¾Æº¸°í »ç¿ëÀÚ Á¶ÀÛÀÚ ¸¸µé±â¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. 12ÀåÀº C++ ÆÄÀÏ ÀÔÃâ·Â¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ÅؽºÆ® ÆÄÀÏ°ú ¹ÙÀ̳ʸ® ÆÄÀÏ¿¡ ´ëÇØ ÀÌÇØÇÏ°í ÆÄÀÏ ÀÐ±â ¹× ¾²±â, ½ºÆ®¸² »óÅ¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ¶ÇÇÑ ÀÓÀÇ Á¢±ÙÀ¸·Î ÀÎÇÑ ÆÄÀÏ ÀÔÃâ·Â¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. 13ÀåÀº ¿¹¿Ü ó¸®¿Í C ¾ð¾î¿ÍÀÇ ¸µÅ© ÁöÁ¤¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ½ÇÇà ¿À·ù¿Í ¿À·ù ó¸® ¹æ¹ý¿¡ ´ëÇØ ÀÌÇØÇÏ°í ¿¹¿Ü ó¸® Äڵ带 ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. ¶ÇÇÑ C ¾ð¾î·Î ÀÛ¼ºµÈ ¼Ò½º Äڵ峪 ÀÌ¹Ì ÄÄÆÄÀÏµÈ ¸ñÀû Äڵ带 C++ ÇÁ·Î±×·¥¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù.
ºÎ·Ï¿¡¼ ´Ù·é ³»¿ëÀº ´ÙÀ½°ú °°´Ù.
ºÎ·Ï A: C++¿Í CÀÇ ´Ù¸¥ ºÎºÐÀ» ºñ±³¤ý¼³¸íÇÑ´Ù.
ºÎ·Ï B: À̸§ °ø°£°ú namespace¿¡ ´ëÇÑ °³³ä, ÀڽŸ¸ÀÇ À̸§ °ø°£À» ¸¸µå´Â ¹æ¹ý µîÀ» ¼³¸íÇÑ´Ù.
ºÎ·Ï C: Å° ÀÔ·Â ½Ã ÈçÈ÷ ¹ß»ýÇÏ´Â µÎ °¡Áö ¹®Á¦¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
ºÎ·Ï D: »ý¼ºÀÚ¸¦ privateÀ̳ª protected·Î ÀÛ¼ºÇÏ´Â °æ¿ì¿¡ ´ëÇØ ¼³¸íÇÏ°í, ´ëÇ¥ÀûÀÎ »ç·Ê·Î singleton ÇÁ·Î±×·¡¹Ö ±â¹ýÀ» ¼³¸íÇÑ´Ù.
ºÎ·Ï E: ÇÑ±Û ¹®ÀÚ¿Í ÀÔÃâ·Â¿¡ °üÇØ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.
ºÎ·Ï F: º»¹®¿¡¼ ´Ù·çÁö ¸øÇß´ø [], new, delete, (), = ¿¬»êÀÚ¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» »ç·Ê¿Í ÇÔ²² ¼³¸íÇÑ´Ù.
ºÎ·Ï G: STLÀÇ °í±Þ È°¿ë¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
ºÎ·Ï H: RTTI(½ÇÇà Áß¿¡ °´Ã¼ÀÇ Å¸ÀÔ°ú °ü·ÃµÈ Á¤º¸¸¦ ¾Ë¾Æ³»´Â ±â¹ý) ¸¦ ÀÌÇØÇϱâ À§ÇØ typeid ¿¬»êÀÚ, type_info Ŭ·¡½º, dynamic_cast ¿¬»êÀÚ¿¡ ´ëÇØ ¼Ò°³ÇÑ´Ù.
ºÎ·Ï I: ÆÄÀÏ ÀÔÃâ·Â°ú °ü·ÃµÈ ¸î °¡Áö À̽´¸¦ ¼³¸íÇÏ°í, Á¡¼ö °ü¸® ÀÀ¿ëÇÁ·Î±×·¡¹Ö »ç·Ê¸¦ ÅëÇØ ÆÄÀÏ ÀÔÃâ·Â ÄÚµå ÀÛ¼º¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
ºÎ·Ï J: º»¹®¿¡ ÇÊ¿äÇÑ ASCII ÄÚµåÇ¥¸¦ ÷ºÎÇÏ¿´´Ù. |