»ý¼ºÀÚ ¸Å°³º¯¼ö°¡ ¾ø´Â °´Ã¼¸¦ »ý¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¸ÕÀú ¿©·¯ºÐµéÀº ÀÓÀÇÀÇ ClassŬ·¡½º¸¦ °¡Áö°í ÀÖ´Ù°í »ý°¢ÇϽñ⠹ٶø´Ï´Ù. »ý¼ºÀÚ ¸Þ¼µå¿¡ ¸Å°³º¯¼ö°¡ ¾ø´Ù´Â °¡Á¤ ÇÏ¿¡ °´Ã¼¸¦ Çϳª »ý¼ºÇÏ·Á°í ÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ¿¹Á¦´Â ±× ¹æ¹ýÀ» Á¦°øÇØ ÁÖ°í ÀÖ½À´Ï´Ù.
NewObjectTest(ClassŬ·¡½º¸¦ ÀÌ¿ëÇÏ¿© °´Ã¼»ý¼ºÇϱâ) |
import java.util.Vector; public class NewObjectTest{ public static void main(String[] arg) throws ClassNotFoundException, InstantiationException, IllegalAccessException { Object object = null; Class c = Class.forName("java.util.Vector"); object = c.newInstance(); if(object instanceof Vector){ System.out.println("VectorÇüÀÌ ¸Â½À´Ï´Ù."); } else { System.out.println("VectorÇüÀÌ ¾Æ´Õ´Ï´Ù."); } } } |
C:\JavaExample\11>javac NewObjectTest.java C:\JavaExample\11>java NewObjectTest VectorÇüÀÌ ¸Â½À´Ï´Ù. |
¹°·Ð, À§ÀÇ ¿¹Á¦¿¡¼´Â Class c = Class.forName(¡°java.util.Vector¡±)¸¦ ÀÌ¿ëÇÏ¿© ClassŬ·¡½º¸¦ ¸¸µé¾úÁö¸¸ ¾îµò°¡¿¡¼ ¾òÀº c ¶ó°í »ý°¢ÇϽñ⠹ٶø´Ï´Ù. ClassÇü °´Ã¼c¸¦ ÀÌ¿ëÇÏ¿© °´Ã¼ÀÇ ¸Þ¸ð¸®¸¦ »ý¼ºÇÏ´Â ºÎºÐÀº ´ÙÀ½°ú °°½À´Ï´Ù.
n object = c.newInstance();
ClassŬ·¡½ºÀÇ ¸â¹ö¸Þ¼µåÀÎ newInstance()¸Þ¼µå´Â °´Ã¼¸¦ »ý¼ºÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇØ ÁÝ´Ï´Ù. ÇÏÁö¸¸ newInstance¸Þ¼µå´Â ObjectÇüÀ» ¸®ÅÏÇϱ⠶§¹®¿¡ ±× ÇüÀ» ¾Ë ¼ö ¾ø½À´Ï´Ù. Vector°´Ã¼°¡ ½ÇÁ¦·Î »ý¼ºµÇ¾ú´ÂÁö¸¦ È®ÀÎÇϱâ À§Çؼ instanceofŰ¿öµå¸¦ ÀÌ¿ëÇÏ¿© È®ÀÎ ÀýÂ÷¸¦ °ÅÄ¡°í ÀÖ½À´Ï´Ù.
n if(c instanceof Vector)
½ÇÁ¦ »ý¼ºµÇ¾ú´Ù¸é ¡°VectorÇüÀÌ ¸Â½À´Ï´Ù¡±¶ó´Â ±¸¹®ÀÌ Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù. ¾ÆÁÖ °£´ÜÇÏÁö¸¸ ¸¹Àº Àǹ̸¦ ´øÁ®ÁÖ´Â ¿¹Á¦ÀÔ´Ï´Ù. ClassŬ·¡½º¸¸ ÀÖ´Ù¸é °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌÁÒ. À̰ÍÀº ½ÇÁ¦ °¡»ó¸Ó½Å¿¡¼ ÀÌ·ç¾îÁö´Â ÀÛ¾÷À» ÇÁ·Î±×·¥¼Ò½º·Î º¸¿©ÁÖ´Â ÁÁÀº ¿¹¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ ÀúÀÚ:ÃÖ¿µ°ü |