JavaTM 2 Platform
Standard Ed. 5.0

java.lang.reflect
ÀÎÅÍÆäÀ̽º InvocationHandler

¾Ë·ÁÁø ±¸Çö Ŭ·¡½º ¸ñ·Ï:
EventHandler, MBeanServerInvocationHandler, RemoteObjectInvocationHandler

public interface InvocationHandler

InvocationHandler´Â ÇÁ·Ï½Ã ÀνºÅϽºÀÇ È£Ãâ Çڵ鷯°¡ ±¸ÇöÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.

ÇÁ·Ï½Ã ÀνºÅϽº¿¡´Â °¢°¢ °ü·ÃÇÑ È£Ãâ Çڵ鷯°¡ ÀÖ½À´Ï´Ù. ÇÁ·Ï½Ã ÀνºÅϽº·Î ¸Þ¼­µå°¡ ºÒ·Á°¡ ¸é, ¸Þ¼­µåÀÇ È£ÃâÀÌ encode µÇ¾î °¢ ÇÁ·Î »ç°è ÀνºÅϽºÀÇ È£Ãâ Çڵ鷯ÀÇ invoke ¸Þ¼­µå¿¡ µð½ºÆÐÄ¡ µË´Ï´Ù.

µµÀÔµÈ ¹öÀü :
JDK1. 3
°ü·Ã Ç׸ñ:
Proxy

¸Þ¼­µå °³¿ä
 Object invoke (Object  proxy, Method  method, Object [] args)
          ÇÁ·Ï½Ã ÀνºÅϽº·Î ¸Þ¼­µå È£ÃâÀ» ó¸®ÇØ, ±× °á°ú¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 

¸Þ¼­µåÀÇ »ó¼¼

invoke

Object  invoke(Object  proxy,
              Method  method,
              Object [] args)
              throws Throwable 
ÇÁ·Ï½Ã ÀνºÅϽº·Î ¸Þ¼­µå È£ÃâÀ» ó¸®ÇØ, ±× °á°ú¸¦ ¸®ÅÏÇÕ´Ï´Ù. °ü·ÃÇÑ ÇÁ·Ï½Ã ÀνºÅϽº·Î ¸Þ¼­µå°¡ ºÒ·Á°¡ ¸é, ÀÌ ¸Þ¼­µå´Â È£ÃâÇØ Çڵ鷯·Î È£ÃâÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
proxy - ¸Þ¼­µå°¡ È£ÃâµÇ´Â ÇÁ·Ï½Ã ÀνºÅϽº
method - ÇÁ·Ï½Ã ÀνºÅϽº·Î È£ÃâµÇ´Â ÀÎÅÍÆäÀ̽º ¸Þ¼­µå¿¡ ´ëÀÀÇÏ´Â MethodÀνºÅϽº. Method °´Ã¼ÀÇ ¼±¾ð Ŭ·¡½º´Â ¸Þ¼­µå¸¦ ¼±¾ðÇÑ ÀÎÅÍÆäÀ̽º°¡ µÈ´Ù. ÇÁ·Ï½Ã Ŭ·¡½º°¡ ¸Þ¼­µåÀÇ »ó¼Ó¿¡ »ç¿ëÇÏ´Â ÇÁ·Ï½Ã ÀÎÅÍÆäÀ̽ºÀÇ ½´ÆÛ ÀÎÅÍÆäÀ̽º°¡ µÇ´Â °æ¿ìµµ ÀÖ´Â
args - ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼­µå È£Ãâ½Ã¿¡°Ô °Ç³×Áö´Â ÀμöÄ¡¸¦ Æ÷ÇÔÇÏ´Â °´Ã¼ ¹è¿­. ÀÎÅÍÆäÀ̽º ¸Þ¼­µå°¡ Àμö¸¦ ÃëÇÏÁö ¾Ê´Â °æ¿ì, nullÀÌ µÈ´Ù. ¿ø½ÃÇü Àμö´Â java.lang.Integer ¶Ç´Â java.lang.Boolean¿Í °°ÀÌ ÀûÀýÇÑ ¿ø½ÃÇü ·¡ÆÛ Å¬·¡½ºÀÇ ÀνºÅϽº¿¡ ·¦ µÈ´Ù
¹Ýȯ°ª:
ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼­µå È£Ãâ·ÎºÎÅÍÀÇ ¹Ýȯ°ª. ÀÎÅÍÆäÀ̽º ¸Þ¼­µåÀÇ ¼±¾ðµÈ ¹Ýȯ°ªÀÇ ÇüÅ°¡ ¿ø½ÃÇüÀÇ °æ¿ì´Â ÀÌ ¸Þ¼­µåÀÇ ¹Ýȯ°ªÀº ´ëÀÀÇÏ´Â ¿ø½ÃÀû ·¡ÆÛ Å¬·¡½ºÀÇ ÀνºÅϽº°¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ¼±¾ðµÈ ¹Ýȯ°ªÀÇ ÇüÅ¿¡ ÇÒ´çÇÒ ¼ö ÀÖ´Â ÇüÅ°¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù. ÀÌ ¸Þ¼­µå¿¡ ÇÑ ¹Ýȯ°ªÀÌ null·Î ÀÎÅÍÆäÀ̽º ¸Þ¼­µåÀÇ ¹Ýȯ°ªÀÌ ¿ø½ÃÇüÀÇ °æ¿ì, ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼­µå È£Ãâ¿¡ ÀÇÇØ NullPointerException°¡ Throw µÈ´Ù. ÀÌ¿ÜÀÇ ÄÉÀ̽º·Î ÀÌ ¸Þ¼­µåÀÇ ¹Ýȯ°ª°ú »ó±â¿Í °°Àº ÀÎÅÍÆäÀ̽º ¸Þ¼­µåÀÇ ¼±¾ðµÈ ¹Ýȯ°ªÀÇ ÇüÅ¿ÍÀÇ »çÀÌ¿¡ ȣȯ¼ºÀÌ ¾ø´Â °æ¿ì, ClassCastException´Â ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼­µå È£Ãâ¿¡ ÀÇÇØ Throw µÇ°Ô µÈ´Ù
¿¹¿Ü:
Throwable - ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼­µå È£Ãâ·ÎºÎÅÍ ¹ß»ýµÇ´Â ¿¹¿Ü. ÀÌ ¿¹¿ÜÀÇ Å¸ÀÔÀº ÀÎÅÍÆäÀ̽º ¸Þ¼­µåÀÇ throws Àý¿¡ ¼±¾ðµÇ´Â ¿¹¿Ü ŸÀÔÀΰ¡ ¶Ç´Â üũµÇÁö ¾Ê´Â ¿¹¿Ü ŸÀÔÀÇ java.lang.RuntimeException ¶Ç´Â java.lang.Error¿¡ ÇÒ´çÇÒ ¼ö ¾øÀ¸¸é ¾È µÈ´Ù. ÀÌ ¸Þ¼­µå¿¡ ÀÇÇØ ¹ß»ýµÇ´Â üũ ¿¹¿Ü°¡ ÀÎÅÍÆäÀ̽º ¸Þ¼­µåÀÇ throws Àý¿¡ ¼±¾ðµÈ ¿¹¿Ü ŸÀÔ¿¡ ÇÒ´çÇÒ ¼ö ¾ø´Â °æ¿ì, ÀÌ ¸Þ¼­µå°¡ Throw ÇÑ ¿¹¿Ü¸¦ Æ÷ÇÔÇÏ´Â UndeclaredThrowableExceptionÀÌ ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼­µå È£Ãâ¿¡ ÀÇÇØ Throw µÇ°Ô µÇ´Â
°ü·Ã Ç׸ñ:
UndeclaredThrowableException

JavaTM 2 Platform
Standard Ed. 5.0

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