ÇʵåÀÇ °ªÀ» ¼ÂÆÃÇÏ´Â ¹æ¹ýÀº ÇʵåÀÇ °ªÀ» ¾ò¾î³»´Â ¿ª ¹æÇâÀ¸·Î »ý°¢ÇÏ½Ã¸é µË´Ï´Ù.
n Point p = new Point(100, 200);
n p.x = 50;
ÀÌ¿Í °°Àº ±¸¹®À» ¿¹Á¦·Î ¸¸µé¾î º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
SettingField.java(ƯÁ¤°´Ã¼¿¡ ÇʵåÀÇ °ª ¼ÂÆÃÇϱâ) |
import java.awt.*; import java.lang.reflect.*; public class SettingField{ 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); f.set(p, new Integer(50)); System.out.println(p.toString()); } } |
C:\JavaExample\11>javac SettingField.java C:\JavaExample\11>java SettingField java.awt.Point[x=50,y=200] |
¸ÕÀú ÀÓÀÇÀÇ Class c¿¡¼ ¸â¹öÇÊµå °´Ã¼¸¦ ¾ò¾î ³À´Ï´Ù.
n Class c = Class.forName("java.awt.Point");
n Field f = c.getField("x");
±×¸®°í ½ÇÁ¦ °´Ã¼ p¿¡ Field°´Ã¼ f¸¦ ÀÌ¿ëÇÏ¿© °ªÀ» ¼ÂÆÃÇÏ°Ô µË´Ï´Ù. ¹°·Ð, ÀÔ·ÂÇÒ °ªÀº ObjectÇü½ÄÀ¸·Î ³Ö¾î ÁÖ¾î¾ß ÇÕ´Ï´Ù.
n Point p = new Point(100,200);
n f.set(p, new Integer(50));
Point°´Ã¼ p¸¦ ÅëÇØ¼ °ªÀ» ÀÔ·ÂÇÏ´Â °ÍÀº ³Ê¹«³ªµµ ½±½À´Ï´Ù. ÇÏÁö¸¸ PointŬ·¡½ºÀÇ ClassŬ·¡½º¸¦ ÀÌ¿ëÇÏ¿© °ªÀ» ¼ÂÆÃÇÏ´Â ¹æ¹ýÀº ¾à°£ ´Ù¸¥ ¸éÀ» º¸À̰í ÀÖ½À´Ï´Ù. »ç¿ëÇÏ´Â ¹æ¹ýÀº ¾à°£¾¿ Â÷À̰¡ ÀÖÁö¸¸ ´ëºÎºÐ ÇÊ¿äÇÑ Çü½ÄÀÇ Method, Field, ConstructorÀ» ¸ÕÀú ±¸ÇÑ ÈÄ ½ÇÁ¦°´Ã¼¿¡ Àû¿ëÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ ÀúÀÚ:ÃÖ¿µ°ü |