C++ ÃʱâÈ ¸®½ºÆ®¿¡ °üÇØ¼...
2006-07-13 ½Å¿µÁø
Áú¹®>
C++ Ŭ·¡½º ¸â¹ö¿¡ ´ëÇÑ Áú¹®ÀÌ Çϳª ÀÖ½À´Ï´Ù. ´ç½ÅÀÇ Ä®·³¿¡¼ ÀÌ·¯ÇÑ ÄÚµåµéÀ» ¸¹ÀÌ º¸¾Ò½À´Ï´Ù.
±×¸®°í ´Ù¸¥ °÷¿¡¼ ³ ÀÌ·¯ÇÑ ¹æ½ÄÀ¸·Î »ç¿ëµÇ¾îÁø Äڵ带 º¸¾Ò½À´Ï´Ù.
¸î¸î ³ªÀÇ µ¿·áµéÀº µÎ¹øÂ° ¹æ¹ýÀÇ ¸Þ¼Òµå°¡ ´õ ÁÁ´Ù°íµé À̾߱âÇÕ´Ï´Ù. ±×·¯³ª ¾Æ¹«µµ ¿Ö ±×·±Áö´Â ¾ËÁö ¸øÇÕ´Ï´Ù. Ŭ·¡½º ¸â¹ö¸¦ ÃʱâÈÇÏ´Â À§ÀÇ µÎ°¡Áö ¸Þ¼ÒµåÀÇ Â÷ÀÌÁ¡À» ¾Ë¼ö ÀÖÀ»±î¿ä?
´äº¯>
±â¼úÀûÀ¸·Î ´ç½ÅÀÇ Ä£±¸ÀÇ ¸»ÀÌ ¸Â½À´Ï´Ù. ±×·¯³ª ´ëºÎºÐÀÇ °æ¿ì ±×°ÍÀº Â÷À̰¡ ¾ø½À´Ï´Ù.
µÎ¹øÂ° ¹®¹ýÀ» »ç¿ëÇϴµ¥´Â µÎ°¡Áö ÀÌÀ¯°¡ ÀÖ½À´Ï´Ù. ÇѰ¡Áö´Â Çʿ伺À̰í, ´Ù¸¥°ÍÀº È¿À²¼ºÀÔ´Ï´Ù.
ù¹øÂ° ÀÌÀ¯ÀÎ Çʿ伺À» ½ÃÇèÇØ º¸µµ·ÏÇսô٠Ŭ·¡½º ³»Áö´Â ½ºÆ®·°Ã³ÀΠŬ·¡½º ¸â¹ö¸¦ ´ç½ÅÀÌ °¡Áö°í ÀÖ´Ù°í °¡Á¤ÇØ º¾½Ã´Ù. ±×¸®°í ÀÌ Å¬·¡½º´Â ÀÎÀÚ°¡ ÇÊ¿äÇÑ ÇÑ °³ÀÇ »ý¼ºÀÚ ¸¸À» °¡Áö°í ÀÖ½À´Ï´Ù.
CMember´Â ¸í½ÃµÈ »ý¼ºÀÚ¸¦ °¡Áö°í ÀÖÀ¸¹Ç·Î, ÄÄÆÄÀÏ·¯´Â µðÆúÆ® »ý¼ºÀÚ(ÀÎÀÚ°¡ ¾ø¾îµµ µÇ´Â)¸¦ »ý¼ºÇÏÁö ¾Ê½À´Ï´Ù ±×¸®°í CMember¸¦ Á¤¼ö ÀÎÀÚ¾øÀÌ ¸¸µå´Â ¹æ¹ýÀº ¾ø½À´Ï´Ù.
´ç½ÅÀº ¾î¶»°Ô ´Ù¸¥ Ŭ·¡½ºÀÇ ¸â¹ö·Î ÀÖ´Â CMember¸¦ ÃʱâÈ ÇÒ¼ö ÀÖÀ»±î¿ä? ´ç½ÅÀº ¹Ýµå½Ã ¸â¹ö ÃʱâÈ ¸®½ºÆ®¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
m_member·Î ÀÎÀÚ¸¦ ³Ñ±â´Â ´Ù¸¥ °£´ÜÇÑ ¹æ¹ýÀº ¾ø½À´Ï´Ù.
¸â¹ö°¡ »ó¼ö ¿ÀºêÁ§Æ®À̰ųª ·¹ÆÛ·±½ºÀÎ °æ¿ìµµ ¸¶Âù°¡Áö ÀÔ´Ï´Ù. C++ÀÇ ¹®¹ý¿¡ µû¸£¸é, »ó¼ö ¿ÀºêÁ§Æ® ³»Áö´Â ·¹ÆÛ·±½º´Â ÇÒ´çµÉ ¼ö ¾ø½À´Ï´Ù. ´ÜÁö ÃʱâÈ µÉ¼ö ÀÖ½À´Ï´Ù.
ÃʱâÈ ¸®½ºÆ®¸¦ »ç¿ëÇÏ´Â µÎ¹øÂ° ÀÌÀ¯ÀÎ, È¿À²¼ºÀº ¸â¹ö Ŭ·¡½º°¡ ÇÒ´ç ¿¬»êÀÚ¿Í ¸¶Âù°¡Áö·Î µðÆúÆ® »ý¼ºÀÚ¸¦ °¡Áö°í ÀÖ´Â °æ¿ì¿¡ ¹ß»ýÇÕ´Ï´Ù.
MFC CStringÀº ¿Ïº®ÇÑ ¿¹Á¦¸¦ Á¦°øÇÕ´Ï´Ù. CString ¸â¹ö m_strÀ» °¡Áö°í ÀÖ´Â CMyClass°¡ ÀÖ´Â »óȲ¿¡¼ ´ç½ÅÀº m_strÀ» ¡°yada yada¡±·Î ÃʱâÈ ½ÃŰ°í ½Í¾îÇÑ´Ù°í °¡Á¤ÇØ º¾½Ã´Ù. ´ç½Å¿¡°Ô´Â µÎ°¡Áö ¼±ÅÃÀÌ ÀÖ½À´Ï´Ù.
¶Ç´Â
ÀÌ µÎ ¸Þ¼Òµå°£¿¡ Â÷À̰¡ Á¸ÀçÇÒ±î¿ä? ´ç¿¬È÷ Á¸ÀçÇÕ´Ï´Ù.
ÄÄÆÄÀÏ·¯´Â Ç×»ó ¸ðµç ¸â¹ö ¿ÀºêÁ§Æ®°¡ »ý¼ºÀÚ°¡ ½ÇÇàµÇ±â ÀÌÀü¿¡ ÃʱâÈ µÈ´Ù°í °¡Á¤ÇÕ´Ï´Ù. ±×·¯¹Ç·Î ù¹øÂ° ¿¹Á¦¿¡¼´Â ÄÄÆÄÀÏµÈ ÄÚµå´Â ÇÒ´ç ±¸¹®¿¡ µµ´ÞÇϱâ Àü¿¡ m_strÀ» ÃʱâÈ ½Ã۱â À§Çؼ CString::CStringÀ» È£ÃâÇÕ´Ï´Ù. µÎ¹øÂ° ¿¹Á¦¿¡¼´Â ÄÄÆÄÀÏ·¯´Â CString::CString(LPCTSTR)·Î ¡°yada yada¡±¸¦ ½ºÆ®¸µÀ¸·Î ³Ñ±â´Â Äڵ常 ½ÇÇàÇÕ´Ï´Ù. ù¹øÂ° ¿¹Á¦ÀÇ °á°ú´Â µÎ¹øÀÇ CString ÇÔ¼ö°¡ È£ÃâµÇ´Â °Í ÀÔ´Ï´Ù.(»ý¼ºÀÚ¿Í ÇҴ翬»êÀÚ), ¹Ý¸é¿¡ µÎ¹øÂ° ¿¹Á¦¿¡¼´Â ´ÜÁö ÇÑ °³ÀÇ ÇÔ¼ö¸¸ÀÌ È£ÃâµË´Ï´Ù.
CStringÀÇ °æ¿ì¿¡´Â °ÅÀÇ ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù. ¿Ö³ÄÇÏ¸é µðÆúÆ® »ý¼ºÀÚ°¡ ÀζóÀÎ ÇÔ¼öÀ̰í CStringÀº ´ÜÁö ÇÊ¿äÇÒ ¶§ »ç¿ëÇÒ °ø°£À» ÇÒ´çÇϱ⠶§¹®ÀÔ´Ï´Ù. ±×·¯³ª ÀϹÝÀûÀ¸·Î Áߺ¹µÈ ÇÔ¼ö È£ÃâÀº ³¶ºñÀÔ´Ï´Ù. ƯÈ÷ »ý¼ºÀÚ¿Í ÇÒ´ç ¿¬»êÀÚ¿¡¼ ¸Þ·Î¸®¸¦ ÇÒ´çÇÏ´Â °æ¿ì¿¡´Â ³¶ºñ°¡ ´õ ½ÉÇÕ´Ï´Ù. ¸î¸î Å« Ŭ·¡½º¿¡¼´Â »ý¼ºÀÚ¿Í ÇÒ´ç ¿¬»êÀÚ ¸ðµÎ µ¿ÀÏÇÑ ´ë±Ô¸ð ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ´Â InitÇÔ¼ö¸¦ È£ÃâÇÏ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ±×·± Ư¼öÇÑ °æ¿ì¿¡´Â ºÒÇÊ¿äÇÑ °ø°£ÀÌ ÇÒ´çµÇ´Â °ÍÀ» ¸·±â À§Çؼ ¹Ýµå½Ã ÃʱâÈ ¸®½ºÆ®¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
±âº» ŸÀÔÀÎ int³ª long¶Ç´Â ´Ù¸¥ ŸÀÔ¿¡ ´ëÇØ¼´Â »ý¼ºÀÚ°¡ ¾ø½À´Ï´Ù. ±×·¯ÇÑ °æ¿ì¿¡´Â »ý¼ºÀÚ¿¡¼ ÇÒ´çÀ» Çϰųª ÃʱâÈ ¸®½ºÆ®¸¦ »ç¿ëÇØ¼ Ãʱâȸ¦ Çϰųª ¼º´É»óÀÇ Â÷À̰¡ ÀüÇô ¾ø½À´Ï´Ù. µÎ°æ¿ì ¸ðµÎ ÇÑ °³ÀÇ ÇÒ´ç¹®ÀÌ ½ÇÇà µÉ °ÍÀÔ´Ï´Ù. ¸î¸î ÇÁ·Î±×·¡¸Ó´Â ´ÜÁö ½À°üÀ» µéÀ̱â À§Çؼ Ç×»ó ÃʱâÈ ¸®½ºÆ®¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù°í ÁÖÀåÇÕ´Ï´Ù. ±×·¯³ª Àü Çʿ信 µû¸¥ µÎ°¡Áö ¹æ¹ý »çÀÌÀÇ Àüȯ¿¡ ¾î·Á¿òÀ» ´À³¤ÀûÀÌ ¾ø½À´Ï´Ù. ½ºÅ¸ÀÏÀû Ãø¸é¿¡¼, Àü ÇÔ¼ö ³»¿¡¼ ÇÒ´çÇÏ´Â °ÍÀ» ÁÁ¾ÆÇÕ´Ï´Ù. ¿Ö³ÄÇϸé ÄÚ¸àÆ®¿Í Æ÷¸ËÆÃÀ» À§ÇÑ ¿©À¯ °ø°£ÀÌ ÀÖ°í, ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÒ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù.
¶Ç´Â
µÎ¹øÂ° ÄÚµå Á¶°¢Àº È®½ÇÈ÷ °´Ã¼ÁöÇâÀÌ ¾Æ´Ï¶ó´Â Á¡À» ¾Ë¾Æ¾ß ÇÕ´Ï´Ù.
¹Ý¸é¿¡ , ÇѰ¡Áö ÁÖÀÇÇØ¾ß ÇÒ µ¶Æ¯ÇÑ ±â´ÉÀÌ ÀÖ½À´Ï´Ù. C++Àº Ŭ·¡½º ¸â¹ö¸¦ ¼±¾ðµÈ ¼ø¼´ë·Î ÃʱâÈ ÇÕ´Ï´Ù. ÃʱâÈ ¸®½ºÆ®ÀÇ ¼ø¼´ë·Î ÃʱâÈ ÇÏÁö ¾Ê½À´Ï´Ù.
À§ÀÇ Äڵ忡¼ m_y=i°¡ ¸ÕÀú ÇÒ´çµÇ°í m_x=m_y°¡ ½ÇÇàµÇ¾î¼ m_x¿Í m_yÀÇ °ªÀÌ °°´Ù°í »ý°¢ÇÒ¼ö ÀÖ½À´Ï´Ù.
±×·¯³ª ÄÄÆÄÀÏ·¯´Â m_x¸¦ óÀ½À¸·Î ±×¸®°í m_y¸¦ ÃʱâÈ ÇÕ´Ï´Ù. ¿Ö³ÄÇÏ¸é ±×°ÍµéÀÌ ¼±¾ðµÈ ¼ø¼°¡ ±×·¸±â ¶§¹®ÀÔ´Ï´Ù.±× °á°ú´Â m_x´Â ¿¹ÃøÇÏÁö ¸øÇÒ ¾²·¹±â °ªÀ» °¡Áö°Ô µË´Ï´Ù. ³ªÀÇ ¿¹Á¦´Â ±×Á¡À» ÁöÀûÇϱâ À§ÇØ ºÎÀÚ¿¬½º·´°Ô º¸ÀÔ´Ï´Ù. ±×·¯³ª ÀÌ·¯ÇÑ ¹ö±×µéÀº Ç×»ó ÀÚ¿¬½º·´°Ô ÀϾ´Ï´Ù. ±×°ÍÀ» ÇÇÇÏ´Â ´ë´Â µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. Ç×»ó ÃʱâÈÇÏ°í ½ÍÀº ¼ø¼´ë·Î ¼±¾ðÇϰųª ÃʱâÈ ¸®½ºÆ®¸¦ »ç¿ëÇϱâ·Î °áÁ¤Çß´Ù¸é, Ç×»ó ¼±¾ðµÈ ¼ø¼¿Í µ¿ÀÏÇÏ°Ô »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀÌ ¾Æ¸¶µµ È¥µ¿À» ÇÇÇϴµ¥ µµ¿òÀÌ µÉ °°½À´Ï´Ù.
ÀÌ ¹®¼´Â MSDNÀÇ ³»¿ëÀ» ¹ø¿ªÇÑ °Í ÀÔ´Ï´Ù. ¿ø¹®Àº http://msdn.microsoft.com/msdnmag/issues/0400/c/default.aspx ¿¡¼ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.