¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ  11Àå Reflection  11.1 ¹è°æ  

 

11.1. ReflectionÀ̶õ?

 

¸®Ç÷¢¼ÇÀ̶õ Ŭ·¡½ºÀÇ Á¤º¸¸¦ °´Ã¼¸¦ ÅëÇØ ºÐ¼®Çس»´Â ÇÁ·Î±×·¥ ±â¹ýÀ» ¸»ÇÕ´Ï´Ù. ¾à°£ ¾î·ÆÁÒ. ¿µ¾î´Ü¾î·Î reflectionÀº ¡°°Å¿ï¿¡ ºñÄ£ ±×¸²ÀÚ¡± ¶Ç´Â ¡°¹Ý»ç¡±µîÀÇ Àǹ̷Π»ç¿ëµË´Ï´Ù. ÀÚ¼¼È÷ °üÂûÇϸé ÀÚ¹ÙÀÇ reflectionÀº ÀÌ Àǹ̸¦ ±×´ë·Î µû¸£°í ÀÖ½À´Ï´Ù. °Å²Ù·Î¶ó´Â ÀǹÌÁÒ.

 

 ÀϹÝÀûÀ¸·Î ¿©·¯ºÐµéÀº Ŭ·¡½º¸¦ µðÀÚÀÎÇϰí, Ŭ·¡½ºÀÇ ¸ðµç Á¤º¸¸¦ ´ã°íÀÖ´Â .classÆÄÀÏÀ» ¸¸µì´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ Á¤º¸ÁýÇÕü¸¦ ÀÌ¿ëÇØ¼­ »õ·Î¿î °´Ã¼¸¦ ¼±¾ðÇϰí, ±×¸®°í °´Ã¼ÀÇ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ°Ô µË´Ï´Ù. ±×·±µ¥ À̰ÍÀ» ¿ªÀ¸·Î »ý°¢ÇØ º¸ÁÒ. ¸¸¾à °´Ã¼ÀÇ ¸Þ¸ð¸®¸¸À» ¾Ë°í ÀÖ´Ù¸é, ±×¸®°í ÀÌ °´Ã¼ÀÇ ÇüÀ» ¸ð¸¥´Ù°í °¡Á¤Çغ¸ÁÒ. ¾î¶³±î¿ä. ¸ðµç °´Ã¼´Â ObjectŬ·¡½º¸¦ »ó¼Ó ¹ÞÀ¸´Ï ±âº»ÀûÀ¸·Î ObjectÇüÀÇ °´Ã¼·Î ÀÎ½Ä µÉ ¼ö´Â ÀÖÁö¸¸, ÇüÀ» ¸ð¸¥´Ù¸é °´Ã¼ ³»¿¡ Æ÷ÇԵǾî ÀÖ´Â ¸Þ¼­µå¸¦ È£ÃâÇÒ ¼ö ÀÖÀ»±î¿ä? ´ç¿¬È÷ À̰ÍÀº ¾ÈµË´Ï´Ù.

 

    ÀϹÝÀûÀΠŬ·¡½ºÀÇ »ç¿ë

n        Ŭ·¡½º µðÀÚÀÎ

n        Ŭ·¡½º¸¦ ÀÌ¿ëÇØ¼­ °´Ã¼º¯¼ö ¼±¾ð

n        ¼±¾ðµÈ °´Ã¼¿¡ ¸Þ¸ð¸® ÇÒ´ç

n        °´Ã¼º¯¼ö¸¦ ÅëÇØ¼­ ¸Þ¼­µå È£Ãâ

 

 

 ±×·¸´Ù¸é, °´Ã¼ ±× ÀÚü(¸Þ¸ð¸®)¸¸ °¡Áö°í ¾î¶»°Ô °´Ã¼ÀÇ Å¸ÀÔ°ú °´Ã¼ÀÇ ¸Þ¼­µå, Çʵå, »ý¼ºÀÚ, superclass¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖÀ»±î¿ä? ±×¸®°í °´Ã¼ÀÇ ÇüÀ» ¸ð¸¥´Ù´Â °¡Á¤ ÇÏ¿¡ °´Ã¼ÀÇ ¸Þ¼­µå¸¦ È£ÃâÇϰųª Çʵ忡 Á¢±ÙÇϰųª ÇöÀç °´Ã¼¿Í ¶È °°Àº ÇüÀÇ °´Ã¼¸¦ ´Ù½Ã ¸¸µé ¼ö ÀÖÀ»±î¿ä? ÀÌ·¯ÇÑ ¿ª ¹æÇâÀûÀÎ ¹æ¹ý·ÐÀ» Á¦°øÇÏ´Â °ÍÀÌ ¹Ù·Î ¸®Ç÷º¼Ç ±â¹ýÀ̶ó°í ÇÕ´Ï´Ù. À̰ÍÀ» ÇѸ¶µð·Î Ç¥ÇöÇÑ´Ù¸é ¡°Å¬·¡½ºÀÇ Á¤º¸¸¦ °´Ã¼¸¦ ÅëÇØ ºÐ¼®ÇØ ³»°í, ´É·ÂÀ» ºÐ¼®ÇØ ³»´Â ÇÁ·Î±×·¥±â¹ý¡± À̶ó°í Ç¥Çö ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

 

¸®Ç÷º¼Ç±â¹ýÀÇ ÇÁ·Î±×·¥ »ç¿ë

n        ¸Þ¸ð¸®¸¦ º¸À¯Çϰí ÀÖ´Â ÇüÀ» ¸ð¸£´Â °´Ã¼ Á¸Àç

n        °´Ã¼ÀÇ Å¬·¡½º Á¤º¸ ¾Ë¾Æ³½´Ù.(.class, Áï °´Ã¼ÀÇ ClassŬ·¡½º »ý¼º)

n        ºÐ¼®µÈ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© ¸â¹ö¸Þ¼­µå, ¸â¹öÇʵå»ç¿ë

 

ÀϹÝÀûÀÎ ÇÁ·Î±×·¥±â¹ý°ú ¹Ý´ëµÇ´Â ¹æ¹ýÀÔ´Ï´Ù. ¿ø·¡´Â ÇüÀÌ ÀÖ°í °´Ã¼¸¦ ¸¸µé°í ÀÌ¿ëÇÏÁö¸¸, ÇüÀÌ ¾ø°í °´Ã¼¸¸ Á¸ÀçÇØµµ °´Ã¼ÀÇ ÇüÀ» ¾Ë¾Æ³»¾î Ȱ¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.

 

¸®Ç÷º¼ÇÀÇ ±â¹ý

n        Ŭ·¡½ºÀÇ ´É·ÂÀ» °´Ã¼¸¦ ÅëÇØ¼­ ·±Å¸Àӽÿ¡ ºÐ¼®ÇÑ´Ù.

n        °´Ã¼µéÀ» ·±Å¸Àӽÿ¡ °Ë»çÇÑ´Ù.

 

 ÀÌ·¯ÇÑ ¸®Ç÷º¼ÇÀÇ ±â¹ýÀ» ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ÀÚ¹Ù ¶óÀ̺귯¸®¸¦ ±âº» Á¦°øÇØ ÁÖ°í ÀÖ½À´Ï´Ù. java.lang.reflectÆÐŰÁö°¡ ±×°ÍÀε¥, ÀÌ ÆÐŰÁö ¾È¿¡ º¸¸é, ½Ç½Ã°£¿¡ °´Ã¼ÀÇ ´É·ÂÀ» ºÐ¼®Çϱâ À§ÇÑ ¿©·¯ °¡Áö Ŭ·¡½ºµéÀÌ µé¾î ÀÖ½À´Ï´Ù. ÀÌ reflectÆÐŰÁö´Â ÀÌ Àå¿¡¼­ ´ëºÎºÐ Å×½ºÆ®ÇØ º¸°Ô µÉ °ÍÀÔ´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ
ÀúÀÚ:ÃÖ¿µ°ü