JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

±âÁ¸ÀÇ ±¸Çö Ŭ·¡½ºÀÇ À϶÷:
EventHandler

public interface InvocationHandler

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

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

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

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

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

invoke

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

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

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ À־ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.