ÀÌ Ä³½ºÆ® ¿¬»êÀÚ´Â ÀÓÀÇÀÇ Æ÷ÀÎÅÍ Å¸ÀÔ³¢¸® º¯È¯À» Çã¿ëÇÏ´Â »ó´çÈ÷ À§ÇèÇÑ Ä³½ºÆ® ¿¬»êÀÚÀÌ´Ù. ½ÉÁö¾î Á¤¼öÇü°ú Æ÷ÀÎÅͰ£ÀÇ º¯È¯µµ Çã¿ëÇÑ´Ù. Á¤¼öÇü°ªÀ» Æ÷ÀÎÅÍ Å¸ÀÔÀ¸·Î ¹Ù²Ù¾î Àý´ë ¹øÁö¸¦ °¡¸®Å°µµ·Ï ÇѴٰųª ÇÒ ¶§ ÀÌ ¿¬»êÀÚ¸¦ »ç¿ëÇÑ´Ù.
int *pi;
char *pc;
pi=reinterpret_cast<int *>(12345678);
pc=reinterpret_cast<char *>(pi);
12345678À̶ó´Â Á¤¼ö°ªÀ» Á¤¼öÇü Æ÷ÀÎÅÍ·Î ¹Ù²Ù¾î pi¿¡ ´ëÀÔÇÒ ¼ö ÀÖ°í ÀÌ °ªÀ» ´Ù½Ã ¹®ÀÚÇü Æ÷ÀÎÅÍ·Î ¹Ù²Ù¾î pc¿¡ ´ëÀÔÇÒ ¼ö ÀÖ´Ù. »ó¼Ó °ü°è¿¡ ÀÖÁö ¾ÊÀº Æ÷ÀÎÅͳ¢¸®µµ º¯È¯ °¡´ÉÇÏ´Ù. ´ëÀÔÀ» Çã°¡Çϱâ´Â ÇÏÁö¸¸ ÀÌ·¸°Ô ´ëÀÔÇÑ ÈÄ pi, pc Æ÷ÀÎÅ͸¦ »ç¿ëÇØ¼ ¹ß»ýÇÏ´Â ¹®Á¦´Â ÀüÀûÀ¸·Î °³¹ßÀÚ°¡ Ã¥ÀÓÀ» Á®¾ß ÇÑ´Ù. ÀÏÁ¾ÀÇ °Á¦ º¯È¯À̹ǷΠ¾ÈÀüÇÏÁö ¾Ê°í À̽ļºµµ ¾ø´Ù.
ÀÌ ¿¬»êÀÚ´Â Æ÷ÀÎÅÍ Å¸ÀÔ°£ÀÇ º¯È¯À̳ª Æ÷ÀÎÅÍ¿Í ¼öÄ¡Çü µ¥ÀÌÅÍÀÇ º¯È¯¿¡¸¸ »ç¿ëÇÏ¸ç ±âº» ŸÀԵ鳢¸®ÀÇ º¯È¯¿¡´Â »ç¿ëÇÒ ¼ö ¾ø´Ù. ¿¹¸¦ µé¾î Á¤¼öÇüÀ» ½Ç¼öÇüÀ¸·Î ¹Ù²Ù°Å³ª ½Ç¼öÇüÀ» Á¤¼öÇüÀ¸·Î ¹Ù²Ù´Â °ÍÀº Çã¶ôµÇÁö ¾Ê´Â´Ù. ÀÌ·² ¶§´Â static_cast ¿¬»êÀÚ¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ»óÀ¸·Î C++ÀÇ Ä³½ºÆ® ¿¬»êÀÚ 4°¡Áö¸¦ ¿¬±¸ÇØ ºÃ´Âµ¥ °¡´ÉÇÑ º¯È¯ ŸÀÔ¿¡ ´ëÇØ Á¤¸®ÇØ º¸¸é ´ÙÀ½°ú °°´Ù.
|
ij½ºÆ® ¿¬»êÀÚ |
º¯È¯ ÇüÅ |
|
static_cast |
»ó¼Ó °ü°èÀÇ Å¬·¡½º Æ÷ÀÎÅÍ ¹× ·¹ÆÛ·±½º. ±âº» ŸÀÔ. ŸÀÔ Ã¼Å© ¾ÈÇÔ |
|
dynamic_cast |
»ó¼Ó °ü°èÀÇ Å¬·¡½º Æ÷ÀÎÅÍ ¹× ·¹ÆÛ·±½º. ŸÀÔ Ã¼Å©. RTTI ±â´É ÇÊ¿ä |
|
const_cast |
const, volatile µîÀÇ ¼Ó¼º º¯°æ |
|
reinterpret_cast |
Æ÷ÀÎÅͳ¢¸®, Æ÷ÀÎÅÍ¿Í ¼öÄ¡Çü°£ÀÇ º¯È¯ |
¿¬»êÀÚº°·Î °¡´ÉÇÑ ¿¬»êÀÌ ÀÖ°í ±×·¸Áö ¾ÊÀº ¿¬»êÀÌ ÀÖÀ¸¹Ç·Î ¸ñÀû¿¡ ¸Â°Ô °ñ¶ó¼ »ç¿ëÇØ¾ß ÇÏ¸ç ºÎÁÖÀÇÇÑ Ä³½ºÆÃÀ» Á¶±ÝÀÌ¶óµµ ¹æÁöÇÏ´Â È¿°ú°¡ ÀÖ´Ù. ÄÄÆÄÀÏ·¯´Â ij½ºÆ® ¿¬»êÀÚÀÇ ¸ñÀû¿¡ ¸Â°Ô Á¦´ë·Î ij½ºÆÃÀ» Çß´ÂÁö ÄÄÆÄÀÏ Áß¿¡ ¹Ì¸® ¿¡·¯¸¦ ¹ß°ßÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×¸®°í ¸ð¾çÀÌ ¾ÆÁÖ Æ¯ÀÌÇϱ⠶§¹®¿¡ ij½ºÆ® ¿¬»êÀÚÀÎÁö¸¦ ±Ý¹æ ¾Ë¾Æº¼ ¼ö ÀÖ´Ù´Â Á¡µµ ¶Ç ´Ù¸¥ ÀÌÁ¡À̱⵵ ÇÏ´Ù.
º¯¼öÀÇ Å¸ÀÔÀ» º¯°æÇϴ ij½ºÆ® ¿¬»êÀº ¾î¶² °æ¿ì¶óµµ Ç×»ó ÁÖÀÇÇØ¼ »ç¿ëÇØ¾ß ÇÑ´Ù. ¾Æ¹« ŸÀÔÀ̳ª ¸¶À½´ë·Î ¹Ù²Ü ¼ö ÀÖ´Â °Íµµ ¾Æ´Ï°í ¹Ù²Û ÈÄÀÇ È¿°ú¿¡ ´ëÇØ¼´Â °³¹ßÀÚ°¡ Ã¥ÀÓÀ» Á®¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î Á¤¼öÇü°ú ±¸Á¶Ã¼´Â ¾î¶² ij½ºÆ® ¿¬»êÀÚ¸¦ »ç¿ëÇØµµ »óÈ£ º¯È¯ÇÒ ¼ö ¾ø´Ù. ½ÉÁö¾î CÀÇ Ä³½ºÆ® ¿¬»êÀÚµµ ÀÌ·± ij½ºÆÃÀº Çã¿ëÇÏÁö ¾Ê´Â´Ù. ¾î´À¸ð·Î º¸³ª Á¤¼ö¿Í ±¸Á¶Ã¼´Â ȣȯµÇÁö ¾Ê´Â ŸÀÔÀÌ¸ç º¯È¯ÇÒ Çʿ伺µµ °ÅÀÇ ¾ø´Ù. C++ÀÇ Ä³½ºÆ® ¿¬»êÀÚµµ Á¤µµ°¡ ´Ù¸£±â´Â ÇÏÁö¸¸ À§ÇèÇϱâ´Â ¿ª½Ã ¸¶Âù°¡ÁöÀÌ´Ù.