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 - ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼­µå È£Ãâ·ÎºÎÅÍ Throw µÇ´Â ¿¹¿Ü. ÀÌ ¿¹¿ÜÀÇ Å¸ÀÔÀº, ÀÎÅÍÆäÀ̽º ¸Þ¼­µåÀÇ throws Àý¿¡ ¼±¾ðµÇ´Â ¿¹¿Ü ŸÀÔÀΰ¡, ¶Ç´Â üũµÇÁö ¾Ê´Â ¿¹¿Ü ŸÀÔÀÇ java.lang.RuntimeException ¶Ç´Â java.lang.Error ¿¡ ÇÒ´çÇÒ ¼ö ¾øÀ¸¸é ¾È µÈ´Ù. ÀÌ ¸Þ¼­µå¿¡ ÇØ Throw µÇ´Â üũ ¿¹¿Ü°¡, ÀÎÅÍÆäÀ̽º ¸Þ¼­µåÀÇ 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 µµ ÂüÁ¶ÇϽʽÿÀ.