ÀÌ°Ô ÁøÂ¥ C++ÇÁ·Î±×·¡¹ÖÀÌ´Ù
ÀÌ Ã¥Àº C++ ¾ð¾îÀÇ ¿ª»çºÎÅÍ ½ÃÀÛÇØ °³¹ß ȯ°æ ±¸Ãà¿¡¼ºÎÅÍ °í±Þ È°¿ë ÇÁ·Î±×·¥ ±¸Çö±îÁö ÇʼöÀûÀ¸·Î ÀÍÇô¾ß ÇÏ´Â ºÎºÐµéÀ» À§ÁÖ·Î ³À̵µ¸¦ °ñ°í·ç ¼¯¾î ±¸¼ºÇÏ¿´½À´Ï´Ù. ±×·¡¼ Ãʺ¸ÀÚ´Â ¹°·Ð ½Ç·ÂÀ» ¾÷±×·¹À̵åÇÏ°íÀÚ ÇÏ´Â ¸ðµç µ¶ÀÚµéÀ» À§ÇØ ºÎ´ã¾øÀÌ º¼ ¼ö ÀÖµµ·Ï ÇÏ¿´½À´Ï´Ù.
Ãʹݺο¡´Â C++ ¾ð¾î ¼Ò°³¿Í ÇÔ²² ÀÌŬ¸³½º ÅëÇÕ°³¹ßȯ°æ(IDE)À» ¼³Ä¡ÇÏ°í Hello World ÇÁ·Î±×·¥À» ±¸ÇöÇÏ´Â ¹æ¹ý°ú ¼Ò½º ÄÚµåÀÇ ±¸¼ºÀ» ¼Ò°³ÇÏ°í ÀÖ½À´Ï´Ù.
Á߹ݺκÎÅÍ´Â º»°ÝÀûÀ¸·Î C++ ¾ð¾îÀÇ ¹®¹ýµéÀ» ¿¹Á¦¸¦ ÅëÇØ ½Ç½ÀÇÏ¸é¼ ÀÍÈú ¼ö ÀÖµµ·Ï ÇÏ¿´½À´Ï´Ù. ¿©·¯ °¡Áö ¿¬»êÀÚ¿Í ¿ì¼± ¼øÀ§, Á¦¾î¹®, ±×¸®°í ¹è¿°ú Æ÷ÀÎÅÍ, ÇÔ¼ö, ±×¸®°í C++¿¡¼ µîÀåÇÏ´Â ÀζóÀÎ ÇÔ¼ö¿Í ÇÁ·»µå(friend) µîµî¿¡ ´ëÇؼµµ ¹è¿ì°Ô µË´Ï´Ù. ¶ÇÇÑ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö¿¡¼ µîÀåÇϴ Ŭ·¡½º¿Í °´Ã¼, »ó¼Ó, Á¢±Ù Á¦ÇÑÀÚ, ¿À¹ö·Îµù°°Àº °³³äµéµµ ½Ç½ÀÀ» ÅëÇØ ´Ù·ç°í ÀÖ½À´Ï´Ù.
ÈĹݺο¡´Â ÆÄÀÏ ÀÔÃâ·Â°ú string Ŭ·¡½º¿¡ ´ëÇؼ ´Ù·ç°í ÀÖ½À´Ï´Ù. ±×¸®°í ¸¶Áö¸·¿¡´Â ij¸¯ÅÍ Å°¿ì±â °ÔÀÓ°ú Çлç°ü¸® ÇÁ·Î±×·¥À» °£´ÜÇÏ°Ô ±¸ÇöÇغ¸¸é¼ C++ ÇÁ·Î±×·¡¹Ö ½Ç·ÂÀ» Å°¿ï ¼ö ÀÖµµ·Ï ÇÏ°í ÀÖ½À´Ï´Ù.
¡á ÃâÆÇ»ç ¸®ºä
C++ ¾ð¾î´Â Java¿Í ÇÔ²² ´ëÇ¥ÀûÀÎ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î IT ºÐ¾ß¿¡¼ °è¼Ó »ç¶û¹Þ°í ÀÖ½À´Ï´Ù. ±×·¡¼ ÇÁ·Î±×·¡¹ÖÀ» óÀ½ ½ÃÀÛÇÏ´Â ºÐµéÀº ¹°·Ð Áß°í±Þ ½Ç·ÂÀ» °®Ãá °³¹ßÀÚ°¡ µÇ±â À§Çؼ´Â ¹è¿öµÎ¸é ÁÁÀº ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÔ´Ï´Ù.
ÀÌ Ã¥Àº C++ ¾ð¾î¸¦ ÀÍÈ÷°íÀÚ ÇÏ´Â µ¶ÀÚµéÀÌ ¾Ë¾Æ¾ß ¾Ë¾ÆµÖ¾ß ÇÒ ³»¿ëµéÀ» À§ÁÖ·Î ±¸¼ºÇÏ¿´½À´Ï´Ù. C++ ¾ð¾îÀÇ ±âÃʺÎÅÍ ÇʼöÀûÀÎ ºÎºÐ±îÁö ¼Ò°³ÇÏ°í ÀÖÁö¸¸, ÀÌ Ã¥Àº ÇÁ·Î±×·¡¹Ö ±âÃʸ¦ ¾î´À Á¤µµ Á¢Çغ» µ¶ÀÚµéÀ» ´ë»óÀ¸·Î ÇÏ°í ÀÖ½À´Ï´Ù. C³ª Java ȤÀº ´Ù¸¥ ¾ð¾î·Î ÇÁ·Î±×·¡¹Ö Çغ» °æÇèÀÌ ¾ø°Å³ª ÇÁ·Î±×·¡¹Ö ÀÚü¸¦ óÀ½ Á¢ÇÏ´Â µ¶ÀÚµéÀÌ º¸±â¿¡´Â Á¶±Ý ¾î·Æ°Ô ´À²¸Áú ¼öµµ ÀÖÀ» °Í °°½À´Ï´Ù.
ÀÌ Ã¥¿¡¼´Â Java ¾ð¾î¸¦ ¹è¿ï ¶§ ¸¹ÀÌ »ç¿ëÇÏ´Â ÅëÇÕ°³¹ßȯ°æÀÎ ÀÌŬ¸³½º¸¦ »ç¿ëÇØ C++ ÇÁ·Î±×·¡¹Ö °³¹ß ȯ°æÀ» ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ´Ù·ç°í ÀÖ½À´Ï´Ù. ±×·¡¼ Java ¾ð¾î¸¦ ¹è¿î µ¶ÀÚ³ª ÀÌŬ¸³½º°¡ ¼³Ä¡µÇ¾î ÀÖ´Â PC¿¡¼µµ C++ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ°Ô²û ±¸¼ºÇÏ¿´½À´Ï´Ù. ±×¸®°í C++ ¾ð¾îÀÇ ±âº» ¹®¹ý°ú À̸¦ ÀÌ¿ëÇØ ¾î¶»°Ô È°¿ëÇÒ ¼ö ÀÖ´ÂÁö¸¦ ¿¹Á¦¸¦ ÅëÇØ º¸¿©ÁÖ°íÀÚ ³ë·ÂÇÏ¿´½À´Ï´Ù. ±×¸®°í Áß¿äÇϰųª ³À̵µ°¡ ÀÖ´Â ³»¿ëÀº ÀÏ·¯½ºÆ®¿Í µµÇ¥¸¦ È°¿ëÇÏ¿© ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿´½À´Ï´Ù. ¸¶Áö¸· ºÎºÐ¿¡ Àִ ij¸¯ÅÍ Å°¿ì±â °ÔÀÓ°ú Çлç°ü¸® ÇÁ·Î±×·¥±îÁö Á¤µ¶ÇÏ°Ô µÈ´Ù¸é ³ªµµ ¸ð¸£°Ô C++ ÇÁ·Î±×·¡¹Ö ½Ç·ÂÀ» Å°¿ï ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
¡á ´ë»ó µ¶ÀÚÃþ
- IT ºÐ¾ß¸¦ ºñ·ÔÇÑ ÀÌ°ø°è ºÐ¾ß¸¦ Àü°øÇϰųª ÁøÃâÇÏ°íÀÚ ÇÏ´Â Çлý
- C ¾ð¾î³ª Java ¾ð¾î ȤÀº ±âŸ ÇÁ·Î±×·¡¹Ö °ü·Ã µµ¼¸¦ Àо µ¶ÀÚ
- C++ ±âÃʸ¦ źźÈ÷ ÇÏ°íÀÚ ÇÏ´Â µ¶ÀÚ
<ÀÌ Ã¥ÀÇ ±¸¼º>
Chapter 01. C++ ÇÁ·Î±×·¡¹Ö °³¿ä¿Í °³¹ßȯ°æ ±¸Ãà
ÀÌ Chapter¿¡¼´Â C++ ¾ð¾î¿Í °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀÇ °³³ä¿¡ ´ëÇØ °£·«È÷ ´Ù·ç°í ÀÖ´Ù. ±×¸®°í ½Ç½À ȯ°æÀ» ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÏ°í ÀÖ´Ù.
Chapter 02. C++ ¾ð¾îÀÇ ±âÃÊ ±¸¹®
¿©±â¼´Â C++¿¡¼ ´Ù·ç´Â ¿¬»êÀÚÀÇ ¿ì¼± ¼øÀ§, ±×¸®°í Á¶°Ç¹®°ú ¹Ýº¹¹®, ±×¸®°í ¹è¿°ú Æ÷ÀÎÅÍ¿¡ ´ëÇØ °£·«ÇÏ°Ô ´Ù·ç°í ÀÖ´Ù. ÀÌ ³»¿ëÀº C ¾ð¾î¿Íµµ ºñ½ÁÇÑ ºÎºÐÀÌ ¸¹Àºµ¥ ¹è¿î »ç¶÷À̶ó¸é º¹½À Â÷¿ø¿¡¼ Çѹø º¸°í ³Ñ¾î°¡´Â °É ±ÇÀåÇÑ´Ù.
Chapter 03. ÇÔ¼ö
¿©±â¼´Â ÇÔ¼ö¿¡ ´ëÇÑ ³»¿ëµéÀ» ´Ù·é´Ù. ¼ÒÇÁÆ®¿þ¾î ºÐ¾ß¿¡¼ ¸»ÇÏ´Â ÇÔ¼ö´Â ƯÁ¤ ÀÏÀ» ¼öÇàÇÏ´Â ºÎºÐÀ» ÀǹÌÇϴµ¥, C ¾ð¾î¿Í ¸¶Âù°¡Áö·Î C++¿¡¼µµ ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù. ±×¸®°í ÇÔ¼ö¿¡¼ ³ª¿À´Â ¸Å°³ º¯¼ö¿Í ¹Ýȯ°ª(Return Value)¿¡ ´ëÇؼµµ ´Ù·é´Ù.
Chapter 04. Ŭ·¡½º¿Í °´Ã¼
ÀÌÁ¦ºÎÅÍ C++ ¾ð¾î°¡ °¡Áø °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀÇ Æ¯Â¡µéÀ» º»°ÝÀûÀ¸·Î ´Ù·ç°Ô µÈ´Ù. ¸ÕÀú ÀÌ Chapter¿¡¼´Â Ŭ·¡½º¿Í °´Ã¼¿¡ ´ëÇؼ ¼Ò°³ÇÑ´Ù. Ŭ·¡½º¿Í °´Ã¼´Â °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀÇ ±âº»ÀÌ µÇ´Â ³»¿ëÀÌ´Ù. ±×¸®°í Á¢±Ù ÁöÁ¤ÀÚ, »ý¼ºÀÚ¿Í ¼Ò¸êÀÚ¿¡ ´ëÇÑ ³»¿ëµµ ½Ç½ÀÀ» ÅëÇØ ¹è¿ì°Ô µÈ´Ù.
Chapter 05. °´Ã¼ ¹è¿°ú °´Ã¼ Æ÷ÀÎÅÍ this
µ¿ÀÏÇÑ Å¬·¡½º¿¡ ¼ÓÇÏ´Â °´Ã¼¸¦ ¿©·¯ °³ »ý¼ºÇϱâ À§ÇØ °´Ã¼·Î ÀÌ·ç¾îÁø ¹è¿À» ¸¸µé ¼ö ÀÖ´Ù. À̹ø Chapter¿¡¼´Â °´Ã¼ ¹è¿°ú this Æ÷ÀÎÅÍ º¯¼ö¿¡ ´ëÇØ ´Ù·é´Ù.
Chapter 06. friend¿Í ¿¬»êÀÚ ¿À¹ö·Îµù
¿©±â¼´Â friend(ÇÁ·»µå)¿¡ ´ëÇÑ ³»¿ëÀ» ºñ·ÔÇØ static°ú const ¸â¹ö, ±×¸®°í ¿À¹ö·Îµù(Overloading)¿¡ ´ëÇÑ ³»¿ëµéÀ» ½Ç½À°ú ÇÔ²² ¹è¿ì°Ô µÈ´Ù.
Chapter 07. »ó¼Ó
C++ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼ »ó¼ÓÀº °¡Àå Áß¿äÇÑ °³³ä Áß ÇϳªÀÌ´Ù. ½Ç»ýÈ°¿¡¼µµ »ó¼ÓÀÇ °³³äÀÌ ÀÖµíÀÌ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö¿¡¼µµ »ó¼ÓÀÌ ÀÖ´Ù. À̹ø Chapter¿¡¼´Â C++ ¾ð¾î¿¡¼ ¸»ÇÏ´Â »ó¼ÓÀº ¾î¶² °ÍÀÌ°í ¶Ç ¾î¶»°Ô Ç¥ÇöµÇ´ÂÁö ½Ç½ÀÀ» ÅëÇØ ¹è¿ì°Ô µÈ´Ù.
Chapter 08. °¡»ó ÇÔ¼ö¿Í ´ÙÁß »ó¼Ó
¿©±â¼´Â »ó¼Ó°ú °ü·ÃµÇ¾î¼ ÇÊ¿äÇÑ °¡»ó ÇÔ¼ö¿Í ¼ø¼ö °¡»ó ÇÔ¼ö, Ãß»ó Ŭ·¡½º, ±×¸®°í ´ÙÁß »ó¼Ó¿¡ ´ëÇØ ´Ù·é´Ù.
Chapter 09. ½ºÆ®¸²°ú ÆÄÀÏ ÀÔÃâ·Â
C++ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼´Â ±âº»ÀûÀ¸·Î C ¾ð¾î¿¡¼ »ç¿ëÇÏ´Â ÆÄÀÏ ÀÔÃâ·Â°ú ½ºÆ®¸²À» ÀÌ¿ëÇؼ ÀÔÃâ·ÂÀ» ÁøÇàÇÒ ¼ö ÀÖ´Ù. ÀÌ Chapter¿¡¼´Â ½ºÆ®¸²À» ÀÌ¿ëÇϱâ À§ÇÑ »ðÀÔ ¿¬»êÀÚ(<<)¿Í ÃßÃâ ¿¬»êÀÚ(>>), ±×¸®°í ÀÔÃâ·Â¿¡ »ç¿ëµÇ´Â ÇÔ¼öµéÀ» ¹è¿ì°Ô µÈ´Ù.
Chapter 10. ÅÛÇø´
ÀÌ Chapter¿¡¼´Â ÅÛÇø´¿¡ °üÇÑ ³»¿ëÀ» ´Ù·é´Ù. C++ÀÇ ÅÛÇø´µµ ÄÚµåÀÇ ±âº» ÆÐÅÏÀº µ¿ÀÏÇÏÁö¸¸ µ¥ÀÌÅÍ Å¸ÀÔÀ» ´Ù¾çÇÏ°Ô Á¦°øÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿©±â¼´Â ÇÔ¼ö ÅÛÇø´°ú ÅÛÇø´ Ŭ·¡½º¿¡ ´ëÇØ ¼Ò°³ÇÑ´Ù.
Chapter 11. ¿¹¿Ü ó¸®
ÇÁ·Î±×·¥À» »ç¿ëÇÏ´Â »ç¿ëÀÚ°¡ °³¹ßÀÚÀÇ Àǵµ¿Í ´Ù¸¥ ¹æ½ÄÀ¸·Î »ç¿ëÇϰųª ±â°èÀûÀÎ °áÇÔÀÌ ¹ß»ýÇϸé ÇÁ·Î±×·¥¿¡ ¹®Á¦°¡ »ý±â´Â À̸¥¹Ù ¿¹¿ÜµéÀÌ Á¸ÀçÇÑ´Ù. ¿¹¿Ü°¡ ¹ß»ýÇÏ¸é ±×³É ³öµÎ´Â °ÍÀÌ ¾Æ´Ï¶ó ¹®Á¦¸¦ ÀνÄÇÏ°í ÇØ°áÇϰųª Àû¾îµµ »ç¿ëÀÚ¿¡°Ô ¹®Á¦¸¦ ¾Ë·ÁÁÖ°í ´Ù½Ã µ¿ÀÛÇϵµ·Ï ¿äûÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. À̹ø Chapter¿¡¼´Â ÀÌ·¯ÇÑ ¿¹¿ÜµéÀ» ¾î¶»°Ô ó¸®ÇÏ´ÂÁö ¹è¿ì°Ô µÈ´Ù.
Chapter 12. STL
ÅÛÇø´ Äڵ尡 Àͼ÷ÇÏÁö ¾ÊÀº »ç¶÷µé¿¡°Ô´Â ÅÛÇø´À» ¸¸µå´Â °ÍÀÌ Èûµé °ÍÀÌ´Ù. ±×·¡¼ C++¿¡¼´Â ÀÚÁÖ »ç¿ëµÇ´Â ÅÛÇø´µéÀ» ¹Ì¸® ¸¸µé¾î ¶óÀ̺귯¸®·Î Á¦°øÇϴµ¥ ÀÌ°ÍÀÌ ¹Ù·Î STL(Standard Template Library)ÀÌ´Ù. À̹ø Chater¿¡¼´Â STL¿¡ ´ëÇÑ ³»¿ëµéÀ» ´Ù·é´Ù.
Chapter 13. string Ŭ·¡½º
ÇÁ·Î±×·¥À» °³¹ßÇÏ´Ù º¸¸é ¹®ÀÚ¿(¹®Àå)À» ´Ù·ç´Â °æ¿ì°¡ ¸¹´Ù. C ¾ð¾î¿¡¼´Â ÀÌ·¯ÇÑ ¹®ÀÚ¿À» ´Ù·ç±â À§Çؼ´Â ¹è¿À̳ª Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇØ¾ß Çؼ °£´ÜÇÏÁö ¾Ê´Ù. ÇÏÁö¸¸ C++¿¡¼´Â string Ŭ·¡½º¸¦ ÅëÇØ ¹®ÀÚ¿À» ½±°Ô ´Ù·ê ¼ö ÀÖ´Ù. ¿©±â¼´Â string Ŭ·¡½º¿¡ ´ëÇØ ¹è¿ì°Ô µÈ´Ù.
Chapter 14. ³×ÀÓ½ºÆäÀ̽º
°´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀº ÁÖ·Î Áß´ëÇü Å©±âÀÇ ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ »ç¿ëµÇ¹Ç·Î ¿©·¯ °³¹ßÀÚµéÀÌ ÇÔ²² ÀÛ¾÷ÇÏ´Â °æ¿ì°¡ ¸¹´Ù. ÀÌ·¸°Ô ¿©·¯ »ç¶÷ÀÌ ÇÔ²² °³¹ßÇÏ´Ù º¸¸é º¯¼ö À̸§À̳ª ÇÔ¼ö À̸§ÀÌ Áߺ¹µÇ´Â ÀÏÀÌ ¹ß»ýÇÏ°Ô µÇ´Âµ¥ À̸¦ ¸·±â À§ÇØ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ³×ÀÓ½ºÆäÀ̽º´Ù. À̹ø Chapter¿¡¼´Â ³×ÀÓ½ºÆäÀ̽º¿¡ ´ëÇØ ´Ù·é´Ù.
Chapter 15. ½ÇÀü ÇÁ·ÎÁ§Æ® µµÀü!
ÀÌ Chapter¿¡¼´Â Áö±Ý±îÁö ¹è¿ü´ø C++ ¾ð¾îÀÇ ³»¿ëµéÀ» ¹ÙÅÁÀ¸·Î °£´ÜÇÑ ÇÁ·Î±×·¥ ±¸ÇöÇϱâ ÇÁ·ÎÁ§Æ®¸¦ ´Ù·ç¾ú´Ù. ij¸¯ÅÍ Å°¿ì±â °ÔÀÓ°ú Çлç°ü¸® ÇÁ·Î±×·¥À» °³¹ßÇغ¸¸é¼ ½Ç·ÂÀ» ÇÑÃþ ´õ ¾÷±×·¹À̵å½Ãų ¼ö ÀÖ´Â ¹ßÆÇÀ» ¸¶·ÃÇϵµ·Ï ÇÏÀÚ.