JavaTM 2 Platform
Standard Ed. 5.0

java.lang.reflect
Ŭ·¡½º Proxy

java.lang.Object 
  »óÀ§¸¦ È®Àå java.lang.reflect.Proxy
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable

public class Proxy
extends Object
implements Serializable

Proxy´Â µ¿Àû ÇÁ·Ï½ÃÀÇ Å¬·¡½º ¹× ÀνºÅϽº¸¦ »ý¼ºÇÏ´Â static ¸Þ¼­µå¸¦ Á¦°øÇØ, ¶Ç, ±×·¯ÇÑ ¸Þ¼­µå¿¡ ÀÇÇØ »ý¼ºµÈ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º ¸ðµç ½´ÆÛ Å¬·¡½ºÀ̱⵵ ÇÕ´Ï´Ù.

ÀÎÅÍÆäÀ̽º Foo ÇÁ·Ï½Ã¸¦ ÀÛ¼ºÇÏ·Á¸é, ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÕ´Ï´Ù.


     InvocationHandler handler = new MyInvocationHandler(...);
     Class proxyClass = Proxy.getProxyClass(         Foo.class.getClassLoader(), new Class[] { Foo.class });
     Foo f = (Foo) proxyClass.
         getConstructor(new Class[] { InvocationHandler.class }).
         newInstance(new Object[] { handler });
 
ȤÀº Á» ´õ ´Ü¼øÇÏ°Ô, ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÕ´Ï´Ù.

     Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),
                                          new Class[] { Foo.class },
                                          handler);
 

¡¸µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¡¹(ÀÌÇÏ¿¡¼­´Â ´ÜÁö ¡¸ÇÁ·Ï½Ã Ŭ·¡½º¡¹¶ó°í ºÎ¸¥´Ù)Àº Ŭ·¡½º ÀÛ¼ºÀÇ ½ÇÇà½Ã·Î ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽ºÀÇ ¸®½ºÆ®¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀ̸ç, ÀÌÇÏ¿¡ ¸»ÇÏ´Â µ¿ÀÛÀ» ÇÕ´Ï´Ù. ¡¸ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽º¡¹´Â ÇÁ·Ï½Ã Ŭ·¡½º°¡ ±¸ÇöÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ¡¸ÇÁ·Ï½Ã ÀνºÅϽº¡¹´Â ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ ÀνºÅϽºÀÔ´Ï´Ù. °¢ ÇÁ·Ï½Ã ÀνºÅϽº¿¡´Â °ü·ÃÇÑ ¡¸È£Ãâ Çڵ鷯¡¹°´Ã¼°¡ ÀÖ¾î, ÀÌ°ÍÀº ÀÎÅÍÆäÀ̽º InvocationHandler¸¦ ±¸ÇöÇÏ°í ÀÖ½À´Ï´Ù. ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽ºÀÇ 1°³¸¦ »ç¿ëÇÑ ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼­µå È£ÃâÀº ÀνºÅϽºÀÇ È£Ãâ Çڵ鷯ÀÇ invoke ¸Þ¼­µå¿¡ µð½ºÆÐÄ¡ µÇ¾î ºÒ·Á °£ ¸Þ¼­µå¸¦ ½Äº°ÇÏ´Â java.lang.reflect.Method °´Ã¼ ¹× Àμö¸¦ Æ÷ÇÔÇÏ´Â Object ÇüÀÇ ¹è¿­À» ÇÁ·Ï½Ã ÀνºÅϽº¿¡ ÀεµÇÕ´Ï´Ù. È£Ãâ Çڵ鷯´Â encode µÈ ¸Þ¼­µå È£ÃâÀ» ÀûÀýÈ÷ ó¸®ÇØ, È£Ãâ Çڵ鷯°¡ µ¹·ÁÁÖ´Â °á°ú°¡ ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼­µå È£ÃâÀÇ °á°ú·Î¼­ ¸®Åϵ˴ϴ٠.

ÇÁ·Ï½Ã Ŭ·¡½º¿¡´Â ¾Æ·¡ÀÇ ÇÁ·ÎÆÛƼ°¡ ÀÖ½À´Ï´Ù.

ÇÁ·Ï½Ã ÀνºÅϽº¿¡´Â ¾Æ·¡ÀÇ ÇÁ·ÎÆÛƼ°¡ ÀÖ½À´Ï´Ù.

º¹¼öÀÇ ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽º·Î Áߺ¹ ÇÏ´Â ¸Þ¼­µå

ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ 2°³ ÀÌ»óÀÇ ÀÎÅÍÆäÀ̽º°¡ °°Àº À̸§°ú ÆĶó¸ÞÀÌŸ½Ã±×´ÏÃĸ¦ °¡Áö´Â ¸Þ¼­µå¸¦ Æ÷ÇÔÇÑ °æ¿ì, ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ ÀÎÅÍÆäÀ̽ºÀÇ ¼ø¼­°¡ Áß¿äÇÏ°Ô µË´Ï´Ù. ÇÁ·Ï½Ã ÀνºÅϽº·Î ÀÌ·¯ÇÑ ¡¸Áߺ¹ ¸Þ¼­µå¡¹°¡ ºÒ·Á °¬À» °æ¿ì, È£Ãâ Çڵ鷯¿¡ ÀεµÇØÁø Method°´Ã¼´Â ¹Ýµå½Ã, ÇÁ·Ï½ÃÀÇ ¸Þ¼­µåÀÇ È£Ãâ¿¡ »ç¿ëµÈ ÀÎÅÍÆäÀ̽ºÀÇ ÂüÁ¶ÇüÀ¸·ÎºÎÅÍ ¼±¾ð Ŭ·¡½º¸¦ ÇÒ´çÇÏ°í ÇÒ ¼ö ÀÖ´Â °´Ã¼ÀÏ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÀÌ Á¦ÇÑÀÌ ÀÖ´Â °ÍÀº »ý¼ºµÈ ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ ÇØ´çÀÇ ¸Þ¼­µå ±¸ÇöÀÌ, È£Ãâ¿¡ »ç¿ëµÈ ÀÎÅÍÆäÀ̽º¸¦ ÆÇÁ¤ÇÒ ¼ö ¾ø±â ¶§¹®ÀÔ´Ï´Ù. µû¶ó¼­, Áߺ¹ ¸Þ¼­µå°¡ ÇÁ·Ï½Ã ÀνºÅϽº·Î ºÒ·Á °¬À» °æ¿ì, ¸Þ¼­µå È£ÃâÀÌ ¹ß»ýÇÑ ÂüÁ¶Çü¿¡ °ü°è¾øÀÌ, ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ ÀÎÅÍÆäÀ̽ºÀÇ ¸®½ºÆ®ÀÇ ¸Þ¼­µå¸¦ Á÷Á¢, ¶Ç´Â ½´ÆÛ ÀÎÅÍÆäÀ̽º °æÀ¯·Î »ó¼ÓÇØ Æ÷ÇÔÇÑ ÁÖ¿äÇÑ ÀÎÅÍÆäÀ̽ºÀÇ ¸Þ¼­µåÀÇ Method °´Ã¼°¡ È£Ãâ Çڵ鷯ÀÇ invoke ¸Þ¼­µå¿¡ ÀεµÇØÁý´Ï´Ù.

ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽º°¡ java.lang.Object hashCode, equals, ¶Ç´Â toString °¢ ¸Þ¼­µå¿Í °°Àº À̸§°ú ÆĶó¸ÞÀÌŸ½Ã±×´ÏÃĸ¦ °¡Áö°í ÀÖ´Â ¸Þ¼­µå¸¦ Æ÷ÇÔÇÑ °æ¿ì, ÇÁ·Ï½Ã ÀνºÅϽº·Î ÀÌ·¯ÇÑ ¸Þ¼­µå°¡ ºÒ·Á°¡ ¸é, È£Ãâ Çڵ鷯¿¡ ÀεµÇØÁø Method°´Ã¼´Â ±× ¼±¾ð Ŭ·¡½º·Î¼­ java.lang.Object¸¦ °¡Áý´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé, java.lang.Object, public À̸ç final°¡ ¾Æ´Ñ ¸Þ¼­µå´Â È£Ãâ Çڵ鷯¿¡ ¾î´À Method °´Ã¼¸¦ ÀεµÇұ °áÁ¤ÇÒ ¶§¿¡ ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽ºÀÇ ¸ðµÎ¿¡°Ô ³í¸®ÀûÀ¸·Î ¿ì¼±ÇÕ´Ï´Ù.

Áߺ¹ ¸Þ¼­µå°¡ È£ÃâÇØ Çڵ鷯¿¡ µð½ºÆÐÄ¡ µÇ´Â °æ¿ì, invoke ¸Þ¼­µå´Â È£Ãâ¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸ðµç ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽ºÀÇ ¸Þ¼­µåÀÇ throws ÀýÀÇ ¿¹¿Ü ŸÀÔÀÇ 1°³¿¡ ÇÒ´çÇÏ°í °¡´ÉÇÑ È®ÀÎÀÌ ³¡³­ ¿¹¿Ü ŸÀÔ¸¸À» Throw ÇÒ ¼ö ÀÖ½À´Ï´Ù. invoke ¸Þ¼­µå°¡ È£Ãâ¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽ºÀÇ 1°³ÀÇ ¸Þ¼­µå·Î ¼±¾ðµÈ ¿¹¿Ü ŸÀÔÀÇ ¾î´À °Í¿¡µµ ÇÒ´çÇÏ°í ÇÒ ¼ö ¾ø´Â È®ÀÎÀÌ ³¡³­ ¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì, È®ÀεǾî ÀÖÁö ¾ÊÀº UndeclaredThrowableException°¡ ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ È£Ãâ¿¡ ÀÇÇØ ¹ß»ý µË´Ï´Ù. ÀÌ Á¦ÇÑÀº, invoke ¸Þ¼­µå¿¡ ÀεµÇØÁø Method °´Ã¼¿¡¼­ÀÇ getExceptionTypes È£Ãâ¿¡ ÀÇÇØ ¸®ÅÏµÈ ¿¹¿Ü ŸÀÔÀÌ invoke ¸Þ¼­µå¿¡ ÀÇÇØ ¿¹¿Ü°¡ ¹ß»ýµÇ¾î µµ, ¸ðµÎ ¹Ýµå½Ã ¼º°øÇÑ´Ù°í´Â ÇÒ ¼ö ¾ø´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.3
°ü·Ã Ç׸ñ:
InvocationHandler, Á÷·ÄÈ­ µÈ Çü½Ä

ÇÊµå °³¿ä
protected  InvocationHandler h
          ÀÌ ÇÁ·Ï½Ã ÀνºÅϽºÀÇ È£Ãâ Çڵ鷯ÀÔ´Ï´Ù.
 
»ý¼ºÀÚ °³¿ä
protected Proxy (InvocationHandler  h)
          ÁöÁ¤µÈ °ªÀ¸·Î ¼­ºê Ŭ·¡½º (ÀϹÝÀûÀ¸·Î µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º)·ÎºÎÅÍ ±× È£Ãâ Çڵ鷯¿¡ »õ·Î¿î ProxyÀνºÅϽº¸¦ ±¸ÃàÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
static InvocationHandler getInvocationHandler (Object  proxy)
          ÁöÁ¤µÈ ÇÁ·Ï½Ã ÀνºÅϽºÀÇ È£Ãâ Çڵ鷯¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static Class <? > getProxyClass (ClassLoader  loader, Class <? >... interfaces)
          Å¬·¡½º ·Î´õ¿Í ÀÎÅÍÆäÀ̽ºÀÇ ¹è¿­ÀÇ ÁöÁ¤µÈ ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ java.lang.Class °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static boolean isProxyClass (Class <? > cl)
          ÁöÁ¤µÈ Ŭ·¡½º°¡ getProxyClass ¸Þ¼­µå ¶Ç´Â newProxyInstance ¸Þ¼­µå¸¦ »ç¿ëÇØ µ¿ÀûÀ¸·Î »ý¼ºµÇ¾î ÇÁ·Ï½Ã Ŭ·¡½º°¡ µÇ´Â °æ¿ì¿¡¸¸, true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static Object newProxyInstance (ClassLoader  loader, Class <? >[] interfaces, InvocationHandler  h)
          ÁöÁ¤µÈ È£Ãâ Çڵ鷯¿¡ ´ëÇؼ­ ¸Þ¼­µå È£ÃâÀ» µð½ºÆÐÄ¡ ÇÏ´Â ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽ºÀÇ ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

ÇʵåÀÇ »ó¼¼

h

protected InvocationHandler  h
ÀÌ ÇÁ·Ï½Ã ÀνºÅϽºÀÇ È£Ãâ Çڵ鷯ÀÔ´Ï´Ù.

»ý¼ºÀÚ »ó¼¼

Proxy

protected Proxy(InvocationHandler  h)
ÁöÁ¤µÈ °ªÀ¸·Î ¼­ºê Ŭ·¡½º (ÀϹÝÀûÀ¸·Î µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º)·ÎºÎÅÍ ±× È£Ãâ Çڵ鷯¿¡ »õ·Î¿î ProxyÀνºÅϽº¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
h - ÀÌ ÇÁ·Ï½Ã ÀνºÅϽºÀÇ È£Ãâ Çڵ鷯
¸Þ¼­µåÀÇ »ó¼¼

getProxyClass

public static Class <? > getProxyClass(ClassLoader  loader,
                                     Class <? >... interfaces)
                              throws IllegalArgumentException 
Ŭ·¡½º ·Î´õ¿Í ÀÎÅÍÆäÀ̽ºÀÇ ¹è¿­ÀÇ ÁöÁ¤µÈ ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ java.lang.Class °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÇÁ·Ï½Ã Ŭ·¡½º´Â ÁöÁ¤µÈ Ŭ·¡½º ·Î´õ¿¡ ÀÇÇØ Á¤ÀǵǾî ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ¸ðµÎ ±¸ÇöÇÕ´Ï´Ù. ÀÎÅÍÆäÀ̽ºÀÇ °°Àº ¼ø¿­ÀÇ ÇÁ·Ï½Ã Ŭ·¡½º°¡ ÀÌ¹Ì Å¬·¡½º ·Î´õ¿¡ ÀÇÇØ Á¤Àǵǰí ÀÖ´Â °æ¿ì, ±âÁ¸ÀÇ ÇÁ·Ï½Ã Ŭ·¡½º°¡ ¸®Åϵ˴ϴ٠. ±×·¸Áö ¾ÊÀº °æ¿ì´Â ÀÌ·¯ÇÑ ÀÎÅÍÆäÀ̽ºÀÇ ÇÁ·Ï½Ã Ŭ·¡½º°¡ µ¿ÀûÀ¸·Î »ý¼ºµÇ¾î Ŭ·¡½º ·Î´õ¿¡ ÀÇÇØ Á¤Àǵ˴ϴÙ.

Proxy.getProxyClass¿¡ ÀεµÇØÁö´Â ÆĶó¹ÌÅÍ¿¡´Â ¸î°³ÀÇ Á¦¾àÀÌ ÀÖ½À´Ï´Ù.

ÀÌ·¯ÇÑ Á¦¾à¿¡ 1°³¿¡ ¼­µµ À§¹ÝÇÏ´Â °æ¿ì´Â Proxy.getProxyClass¿¡ ÀÇÇØ IllegalArgumentException°¡ ¹ß»ý µË´Ï´Ù. interfaces ¹è¿­ÀÇ Àμö ¶Ç´Â ±× ¿ä¼ÒÀÇ ¾î¶² °ÍÀΰ¡°¡ nullÀÎ °æ¿ì´Â NullPointerException°¡ ¹ß»ý µË´Ï´Ù.

ÁöÁ¤µÈ ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽ºÀÇ ¼ø¼­´Â Áß¿äÇÑ ¹Ì¸¦ °¡Áý´Ï´Ù. ÇÁ·Ï½Ã Ŭ·¡½º¿¡ ´ëÇÑ, °°Àº ÀÎÅÍÆäÀ̽ºÀÇ Æí¼ºÀ¸·Î ¼ø¼­°¡ ´Ù¸¥ 2°³ÀÇ ¿ä±¸ÀÇ °á°ú´Â 2°³ÀÇ °³º°ÀÇ ÇÁ·Ï½Ã Ŭ·¡½º°¡ µË´Ï´Ù.

ÆĶó¹ÌÅÍ:
loader - ÇÁ·Ï½Ã Ŭ·¡½º¸¦ Á¤ÀÇÇϴ Ŭ·¡½º ·Î´õ
interfaces - ÇÁ·Ï½Ã Ŭ·¡½º°¡ ±¸ÇöÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÇ ¸®½ºÆ®
¹Ýȯ°ª:
ÁöÁ¤µÈ Ŭ·¡½º ·Î´õ·Î Á¤ÀǵǾî ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ÇÁ·Ï½Ã Ŭ·¡½º
¿¹¿Ü:
IllegalArgumentException - getProxyClass¿¡ ÀεµÇØÁö´Â ÆĶó¹ÌÅÍ¿¡ °üÇÑ Á¦¾àÀÇ ¾î¶² °ÍÀΰ¡°¡ ÁöÄÑÁú ¼ö ¾ø¾ú´ø °æ¿ì
NullPointerException - interfaces ¹è¿­ÀÇ Àμö ¶Ç´Â ±× ¿ä¼ÒÀÇ ¾î¶² °ÍÀΰ¡°¡ nullÀÎ °æ¿ì

newProxyInstance

public static Object  newProxyInstance(ClassLoader  loader,
                                      Class <? >[] interfaces,
                                      InvocationHandler  h)
                               throws IllegalArgumentException 
ÁöÁ¤µÈ È£Ãâ Çڵ鷯¿¡ ´ëÇؼ­ ¸Þ¼­µå È£ÃâÀ» µð½ºÆÐÄ¡ ÇÏ´Â ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽ºÀÇ ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ¾Æ·¡¿Í µ¿µîÇÕ´Ï´Ù.

     Proxy.getProxyClass(loader, interfaces).
         getConstructor(new Class[] { InvocationHandler.class }).
         newInstance(new Object[] { handler });
 

Proxy.getProxyClassÀÎ °æ¿ì¿Í °°Àº ÀÌÀ¯·Î½á, Proxy.newProxyInstance´Â IllegalArgumentExceptionÀ» Throw ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
loader - ÇÁ·Ï½Ã Ŭ·¡½º¸¦ Á¤ÀÇÇϴ Ŭ·¡½º ·Î´õ
interfaces - ÇÁ·Ï½Ã Ŭ·¡½º°¡ ±¸ÇöÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÇ ¸®½ºÆ®
h - ¸Þ¼­µå È£ÃâÀÇ µð½ºÆÐġóÀÇ È£Ãâ Çڵ鷯
¹Ýȯ°ª:
ÁöÁ¤µÈ Ŭ·¡½º ·Î´õ¿¡ ÀÇÇØ Á¤ÀǵǾî ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ, ÁöÁ¤µÈ È£Ãâ Çڵ鷯¸¦ °¡Áö´Â ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽º
¿¹¿Ü:
IllegalArgumentException - getProxyClass¿¡ ÀεµÇØÁö´Â ÆĶó¹ÌÅÍ¿¡ °üÇÑ Á¦¾àÀÇ ¾î¶² °ÍÀΰ¡°¡ ÁöÄÑÁú ¼ö ¾ø¾ú´ø °æ¿ì
NullPointerException - interfaces ¹è¿­ÀÇ Àμö ¶Ç´Â ±× ¿ä¼ÒÀÇ ¾î¶² °ÍÀΰ¡°¡ nullÀÎ °æ¿ì, ¶Ç´Â È£ÃâÇØ Çڵ鷯 h°¡ nullÀÎ °æ¿ì

isProxyClass

public static boolean isProxyClass(Class <? > cl)
ÁöÁ¤µÈ Ŭ·¡½º°¡ getProxyClass ¸Þ¼­µå ¶Ç´Â newProxyInstance ¸Þ¼­µå¸¦ »ç¿ëÇØ µ¿ÀûÀ¸·Î »ý¼ºµÇ¾î ÇÁ·Ï½Ã Ŭ·¡½º°¡ µÇ´Â °æ¿ì¿¡¸¸, true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µåÀÇ ½Å·Ú¼ºÀº ÀÌ ¸Þ¼­µå¿¡ ÀÇÇØ ½ÃÅ¥·¯Æ¼ º¸È£¸¦ ÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ °áÁ¤ÇÒ ¶§¿¡ Áß¿äÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡ ÇØ´ç Ŭ·¡½º°¡ Proxy¸¦ È®ÀåÇÒÁö ¾î¶³Áö¸¦ ÀÌ ¸Þ¼­µåÀÇ ±¸ÇöÀ¸·Î Å×½ºÆ®ÇÏ´Â °Í ¸¸À¸·Î´Â ÃæºÐÇÏ´Ù°í´Â ¸»ÇÒ ¼ö ¾ø½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
cl - Å×½ºÆ®Çϴ Ŭ·¡½º
¹Ýȯ°ª:
Ŭ·¡½º°¡ ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
NullPointerException - cl°¡ nullÀÎ °æ¿ì

getInvocationHandler

public static InvocationHandler  getInvocationHandler(Object  proxy)
                                              throws IllegalArgumentException 
ÁöÁ¤µÈ ÇÁ·Ï½Ã ÀνºÅϽºÀÇ È£Ãâ Çڵ鷯¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
proxy - È£Ãâ Çڵ鷯¸¦ µ¹·ÁÁÖ´Â ÇÁ·Ï½Ã ÀνºÅϽº
¹Ýȯ°ª:
ÇÁ·Ï½Ã ÀνºÅϽºÀÇ È£Ãâ Çڵ鷯
¿¹¿Ü:
IllegalArgumentException - Àμö°¡ ÇÁ·Ï½Ã ÀνºÅϽº°¡ ¾Æ´Ñ °æ¿ì

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.