¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ  11Àå Reflection  11.3 ClassŬ·¡½º·Îµù  

 

11.3. ClassŬ·¡½º ·Îµù

 

¸®Ç÷¢¼ÇÀº ClassŬ·¡½º·ÎºÎÅÍ ½ÃÀÛÇÑ´Ù°í ¾ð±ÞÇßÀ¸´Ï, Á÷Á¢ µ¿ÀÛÇÏ´Â Äڵ带 ¸¸µé¾î º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¾Õ¿¡¼­ ¼³¸íÇÑ getClass, Class.forName, String.class¸¦ ÀÌ¿ëÇÏ¿© ÇÁ·Î±×·¥À» ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

GetClassTest.java(ClassŬ·¡½º ¾ò¾î³»±â)

public class GetClassTest{  

   public static void main(String [] args) throws Exception {     

       String s = new String("Hello World Java");

     Class c1 = s.getClass();

     Class c2 = Class.forName("java.lang.String");

     Class c3 = String.class;

       System.out.println("c1 getClass:" + c1.getName());

       System.out.println("c1 forName:" + c1.getName());

       System.out.println("c1 String.class:" + c1.getName());

   }

}

C:\JavaExample\11>javac GetClassTest.java

C:\JavaExample\11>java GetClassTest

c1 getClass:java.lang.String

c1 forName:java.lang.String

c1 String.class:java.lang.String

 

À§ÀÇ ¿¹¿¡¼­ 3°¡Áö ¹æ¹ýÀ¸·Î ClassŬ·¡½º¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

 

n        Class c1 = s.getClass();

n        Class c2 = Class.forName("java.lang.String");

n        Class c3 = String.class;

 

±×·±µ¥, ÀÌ·± »ý°¢µµ ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½°ú °°Àº ±¸¹®Àº String.class¸¦ ·ÎµùÇÏ´Â ºÎºÐÀÌ ¾ø´Âµ¥ ¾î¶»°Ô String.class¸¦ ·ÎµùÇÒ ¼ö ÀÖÀ»±î¿ä?

 

n        String s = new String(¡°Hello World Java¡±)

 

String s = new String(¡°Hello World Java¡±) ¶ó´Â ±¸¹®À» »ç¿ëÇÏ´Â ¼ø°£ Classpath ¿µ¿ª ¾È¿¡ ÀÖÀ¸¸é¼­ importµÇ¾îÁ³´Ù¸é, ȤÀº °°Àº µð·ºÅ丮 »ó¿¡ ÀÖ´Ù¸é ÀÚµ¿À¸·Î ·ÎµùµÇ°Ô µË´Ï´Ù. AutoÁÒ.

 

ClassŬ·¡½º¸¸À» ·ÎµùÇÒ Çʿ䰡 ÀÖÀ» ¶§, Class.forNameÀ» »ç¿ëÇØ¼­ ClassŬ·¡½º¸¸À» µî·ÏÇÏ´Â ¿¹¸¦ ¿ì¸®´Â ½±°Ô ã¾Æ º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÇÁ·Î±×·¥±â¹ýÀº µ¥ÀÌÅͺ£À̽ºÀÇ µå¶óÀ̺긦 ·ÎµùÇÒ ¶§ ¸¹ÀÌ »ç¿ëÇÏ°Ô µË´Ï´Ù. µå¶óÀ̺길 ·ÎµùµÇ¸é Ưº°ÇÑ ÀÛ¾÷À» ¿äÇÏÁö ¾Ê±â ¶§¹®¿¡ ÀÌ·¯ÇÑ ¹æ¹ýÀ» ÀÌ¿ëÇÕ´Ï´Ù.



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