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 ¿¡¼­ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.