ÀÌÁ¦ ¸â¹öÇʵåÀÇ °ª¿¡ ´ëÇØ¼ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. Point°´Ã¼ p¿¡ ¸â¹öº¯¼öÀÇ °ªÀÌ x´Â 100, ±×¸®°í y´Â 200À¸·Î ÀԷµǾî ÀÖ´Ù¸é ´ç¿¬È÷ p.xÀÇ °ªÀº 100ÀÔ´Ï´Ù.
n Point p = new Point(100, 200);
n p.x
¸®Ç÷º¼ÇÀÇ ±â¹ýÀ» ÀÌ¿ëÇÏ¿© ¸â¹öº¯¼öÀÇ °ªÀ» ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
GettingField.java(ƯÁ¤°´Ã¼¿¡ ´ëÇÑ ÇʵåÀÇ °ª ¾Ë¾Æ³»±â) |
import java.awt.*; import java.lang.reflect.*; public class GettingField{ public static void main(String[] arg) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException { Class c = Class.forName("java.awt.Point"); Field f = c.getField("x"); Point p = new Point(100,200); Object x = f.get(p); System.out.println(x.toString()); } } |
C:\JavaExample\11>javac GettingField.java C:\JavaExample\11>java GettingField 100 |
ÀÓÀÇÀÇ Class c·ÎºÎÅÍ ¸â¹öº¯¼ö xÀÇ Field°´Ã¼¸¦ ¾ò¾î³À´Ï´Ù. Field°´Ã¼¸¦ ÀÌ¿ëÇÏ¿© ½ÇÁ¦ °´Ã¼pÀÇ ¸â¹öº¯¼öÀÎ x°ªÀ» ÃßÃâÇϵµ·Ï ÇϰڽÀ´Ï´Ù. ÀÏ´Ü Field°´Ã¼¸¦ ¾ò¾î ³»´Â ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.
n Class c = Class.forName(java.awt.Point);
n Field f = c.getField("x");
±×¸®°í, Çʵ尴ü f¸¦ ÀÌ¿ëÇÏ¿© Point°´Ã¼ pÀÇ ¸â¹öº¯¼ö xÀÇ °ªÀ» ¾ò¾î³»´Â °ÍÀº ´ÙÀ½°ú °°½À´Ï´Ù.
n Point p = new Point(100,200);
n Object x = f.get(p);
ÀÌ·¯ÇÑ ¹æ¹ýÀº ÀÌ¹Ì ¸®Ç÷º¼Ç±â¹ýÀ¸·Î ¸Þ¼µå¸¦ È£ÃâÇÒ ¶§µµ »ç¿ëÇßÀ¸´Ï ½±°Ô ÀÌÇØ ÇϽø®¶ó »ý°¢µË´Ï´Ù. ´ÙÀ½À¸·Î, ¹Ý´ë°³³äµµ »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. °ªÀ» ¾ò¾î³½´Ù¸é °ªÀ» ³ÖÀ» ¼öµµ ÀÖÁö ¾Ê°Ú½À´Ï±î? °ªÀ» ³Ö´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ ÀúÀÚ:ÃÖ¿µ°ü |