[4th Seoul Workshop]Java Beans - Java Component Architecture

±èÇüÀÏ
°æ±âµµ ¿ëÀνà ±âÈïÀ¾ ¼­Ãµ1¸®
°æÈñ´ëÇб³ ÀüÀÚ°è»ê°øÇаú ¿î¿µÃ¼Á¦ ¿¬±¸½Ç
E-mail : hikim@oslab.kyunghee.ac.kr
URL :
http://oslab.kyunghee.ac.kr/~hikim/

Abstract:

Java Beans API´Â ÄÄÆ÷³ÍÆ® ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ» À§ÇÑ Ç¥ÁØ APIÀÌ´Ù. »ç¿ëÀÚ´Â Java BeansÀ» ÀÌ¿ëÇÏ¿© °³¹ßµÈ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®µéÀ» ÀÚ½ÅÀÇ ÇÁ·Î±×·¥¿¡ ½±°Ô ¿¬°áÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, °³¹ßÀÚµéÀº Java°¡ ¾Æ´Ñ ´Ù¸¥ Ç÷§ÆûÀÇ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®±îÁö ¿¬°áÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÏ¿© ÁØ´Ù. µû¶ó¼­, Java Beans´Â °³¹ßÀڵ鿡°Ô´Â Ç¥ÁØÈ­µÈ ÀÎÅÍÆäÀ̽º ±Ô°ÝÀ» Á¦°øÇϸç, »ç¿ëÀÚ¿¡°Ô´Â °£´ÜÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇϰí ÀÖ´Ù. ÇöÀç, Java BeansÀº 1.0 ½ºÆåÀÌ ¿Ï¼ºµÈ »óÅÂÀÌ´Ù.

Keywords:

Java, Java Bean, Component Architecture, Events, Method, Interface

1. ¼­·Ð

1.1 Java BeanÀ̶õ?

Java Beans API´Â ÄÄÆ÷³ÍÆ® ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ» À§ÇÑ Ç¥ÁØ APIÀÌ´Ù. ÄÄÆ÷³ÍÆ® ¼ÒÇÁÆ®¿þ¾î¶õ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»çÀÇ Visual Basic ¾ð¾îÀÇ VBX³ª º¼·»µå»çÀÇ µ¨ÆÄÀÌ ÄÄÆ÷³ÍÆ®¿Í °°ÀÌ ÀÚµ¿Â÷ÀÇ ºÎ¼Óǰ °°ÀÌ ¿©·¯ ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¸µå´Âµ¥ »ç¿ëµÉ ¼ö ÀÖ´Â ÀÛÀº ´ÜÀ§ÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ¸»ÇÑ´Ù. ÀÌ·¯ÇÑ ÄÄÆ÷³ÍÆ® ¼ÒÇÁÆ®¿þ¾î´Â Àç»ç¿ë¼ºÀ» ³ôÀÌ·Á´Â °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö¿¡ Àß ºÎÇÕÇÑ´Ù°í ÇÒ ¼ö ÀÖ´Ù. Java Beans´Â ÀÌ¿Í °°Àº ÄÄÆ÷³ÍÆ® ¼ÒÇÁÆ®¿þ¾îµéÀ» ¼­·Î ¿¬°á½ÃÄÑÁÖ´Â Á߸³ÀûÀÎ API·Î, °³¹ßÀÚµéÀº À̸¦ ÀÌ¿ëÇÏ¿© Java°¡ ¾Æ´Ñ ´Ù¸¥ Ç÷§ÆûÀÇ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®¸¦ ÀÚ¹Ù¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, »ç¿ëÀÚ´Â °³¹ßµÈ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®µéÀ» ÀÚ½ÅÀÇ ÇÁ·Î±×·¥¿¡ ½±°Ô ¿¬°áÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù.

1.2 Java PlatformÀÇ Æ¯Â¡ °ú È®Àå


Java Beans¸¦ ¼Ò°³Çϱ⠾ռ­, ¿ì¼± ÀÚ¹Ù°¡ °¡Áö´Â ÀåÁ¡¿¡ ´ëÇÏ¿© »ý°¢Çغ¸ÀÚ.





Java Beans´Â ÀÌ·¯ÇÑ Àڹ٠ȯ°æÀ» ¹ÙÅÁÀ¸·Î ´õ ÁÁÀº °³¹ß ȯ°æÀ¸·Î È®ÀåÇÏ´Â °ÍÀÌ´Ù. ÇöÀçÀÇ ÀÚ¹Ù ¾ÖÇ÷§Àº ´Ü¼øÇÑ Á¤Àû ÄÄÆ÷³ÍÆ® ¸ðµ¨¸¸À» Á¦°øÇϰí ÀÖ´Ù. Áï, ¾ÖÇ÷§Àº À¥ »ó¿¡ Á¸ÀçÇÒ ¼ö ÀÖÁö¸¸, À̵éÀÌ ´Ù¸¥ ÆäÀÌÁö³ª ´Ù¸¥ ¾ÖÇ÷§°ú »óÈ£ÀÛ¿ë¾øÀÌ ´Üµ¶À¸·Î¸¸ ½ÇÇàµÈ´Ù´Â °ÍÀÌ´Ù.


Java Beans´Â ÇöÀçÀÇ Á¤ÀûÀÎ ÀÚ¹Ù ¾ÖÇ÷§µé °£¿¡ »óÈ£ÀÛ¿ëÀ» ÇÒ ¼ö ÀÖµµ·Ï È®ÀåÇÑ °ÍÀÌ´Ù. Java Beans´Â ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î Àç»ç¿ë °¡´ÉÇÑ ÄÄÆ÷³ÍÆ®¸¦ ¸¸µé°í, ¸¸µé¾îÁø ÄÄÆ÷³ÍÆ®¸¦ ÇÖÀÚ¹Ù, ³×½ºÄÉÀÌÇÁ, ÀͽºÇÃ·Î¾î °°Àº ºÎ¶ó¿ìÀú ȯ°æ¿¡¼­ »Ó ¾Æ´Ï¶ó, ºñÁê¾ó º£ÀÌÁ÷, Ŭ¶ó¸®½º ¿÷½º °°Àº ¾ÖÇø®ÄÉÀÌ¼Ç È¯°æ¿¡¼­ ¼­·Î Á¶ÇÕÇÏ¿© »õ·Î¿î ÀÀ¿ë Æ÷¸£±×·¥À» °³¹ßÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù.


Java Beans´Â ±×·¡ÇÈ ÀÎÅÍÆäÀ̽º¸¦ °¡Áú ¼ö ÀÖÀ¸³ª, ´«¿¡ º¸ÀÌÁö ¾Ê´Â ±â´É°ú ¼­ºñ½º ¸¸À¸·Î ±¸¼ºµÉ ¼öµµ ÀÖ´Ù. ¶ÇÇÑ, °£´ÜÇÑ ¸î °¡Áö ±â´É¸¸ °¡Áö°Å³ª ¿Ïº®ÇÑ ÇϳªÀÇ ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î Á¸ÀçÇÒ ¼öµµ ÀÖ´Ù. °¢°¢ÀÇ ÄÄÆ÷³ÍÆ®µéÀº ¼­·Î ´Ù¸¥ ½Ã°£¿¡ ¼­·Î ´Ù¸¥ °³¹ßÀÚ¿¡ ÀÇÇØ¼­ ¸¸µé¾î Áú ¼öµµ ÀÖ´Ù. Áï, ÄÄÆ÷³ÍÆ®µéÀÌ ÇϳªÀÇ ÀÀ¿ë ÇÁ·Î±×·¥ ¾È¿¡ ÇÕÃÄÁú Çʿ䰡 ¾ø´Ù´Â °ÍÀ» ÀǹÌÇϸç, ±×µé°£¿¡´Â µ¿ÀûÀÎ Åë½ÅÀÌ ÀÌ·ç¾îÁö°Ô µÈ´Ù.


1.3 Java BeansÀÇ ¿¹


Java Beans¸¦ ÀÌÇØÇϱâ À§Çؼ­, ±¸Ã¼ÀûÀÎ ¿¹¸¦ µé¾î ¼³¸íÇØº¸ÀÚ. ¿Â¶óÀÎ ¹ðÅ· ¼­ºñ½º¸¦ À¥»ó¿¡¼­ ÀÚ¹Ù¸¦ ÀÌ¿ëÇÏ¿© Á¦°øÇÑ´Ù°í ÇÏÀÚ. ÀÚ¹Ù ÇÁ·Î±×·¥Àº ÀÌÀ±À» °è»êÇØ¼­ È­¸é¿¡ Â÷Æ®·Î ¸¸µé¾î Á¦°øÇØÁÖ´Â °ÍÀÌ ÁÖ ¸ñÀûÀÌ´Ù. À̶§ µÎ °¡Áö ÄÄÆ÷³ÍÆ®¸¦ ÀÌ¿ëÇÑ´Ù. Çϳª´Â ÀÌÀ± °è»ê ÄÄÆ÷³ÍÆ®À̰í, ´Ù¸¥ Çϳª´Â Â÷Æ® ÄÄÆ÷³ÍÆ®ÀÌ´Ù. ¹Ì·¡ÀÇ ÇÑ ½ÃÁ¡¿¡¼­ »ç¿ëÀÚ°¡ Áö±Ý±îÁöÀÇ °Å·¡ ³»¿ëÀ» È®ÀÎÇØÁÖ´Â »õ·Î¿î ÄÄÆ÷³ÍÆ®¸¦ °³¹ßÇÏ¿´´Ù°í °¡Á¤ÇÏÀÚ. »õ·Ó°Ô ¸¸µé¾îÁø °Å·¡ ³»¿ª ÄÄÆ÷³ÍÆ®¸¦ À§ÇØ ¶Ç ´Ù¸¥ Â÷Æ® ÄÄÆ÷³ÍÆ®¸¦ ¸¸µé Çʿ䰡 ¾øÀ¸¸ç, ´ÜÁö ±âÁ¸ÀÇ Â÷Æ® ÄÄÆ÷³ÍÆ®¸¦ ±×´ë·Î ÀÌ¿ëÇÏ°Ô µÈ´Ù. ÀÌ·± ¹æ½ÄÀÇ ÇÁ·Î±×·¡¹ÖÀÌ °¡´ÉÇϱâ À§Çؼ­´Â ÀÌÀü¿¡ °³¹ßµÈ ÄÄÆ÷³ÍÆ®¿Í »õ·Î °³¹ßµÈ ÄÄÆ÷³ÍÆ®°£¿¡ Åë½ÅÀÌ µ¿ÀûÀ¸·Î °¡´ÉÇØ¾ß Çϸç À̸¦ Java Beans API°¡ Áö¿øÇÏ´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, Â÷Æ® ÄÄÆ÷³ÍÆ®¿Í ÀÌÀ² °è»ê ÄÄÆ÷³ÍÆ®´Â ¼ÒÇÁÆ®¿þ¾î Àü¹® °³¹ß ȸ»ç¿¡¼­ ¸¸µé°í, °Å·¡ ³»¿ª ÄÄÆ÷³ÍÆ®´Â ÇØ´ç ÀºÇà¾Ö¼­ ¸¸µé ¼ö ÀÖÀ¸¸ç, ÀÌµé °£¿¡´Â ¸¶Ä¡ ÇϳªÀÇ ¼ÒÇÁÆ®¿þ¾î·Î ÄÄÆÄÀÏ ÇÑ °Í°ú °°ÀÌ ¼­·Î À¯¿¬ÇÑ ¿¬°áÀÌ °¡´ÉÇÏ°Ô µÈ´Ù.

À̿Ͱ°ÀÌ, Java Beans´Â ¾ÕÀ¸·Î Àڹ٠ȯ°æÀ» ´õ ¿ªµ¿ÀûÀ̰í À¯¿¬Çϸç Àç»ç¿ëÀÌ Æí¸®ÇÑ È¯°æÀ¸·Î È®ÀåÇÏ´Â ¸ñÀûÀ» °¡Áö°í ÀÖ´Ù.


1.4 Java BeansÀÇ °­Á¡


Java Beans°¡ °¡Áö´Â °­Á¡À» ´ÙÀ½°ú °°ÀÌ ¿ä¾àÇÒ ¼ö ÀÖ´Ù.










2 . Java BeansÀÇ ±âº» °ñ°Ý

Java BeansÀÇ API¸¦ ¼³¸íÇÏ´Â °Í¿¡ ¾Õ¼­, Java BeansÀÇ ±âº»ÀûÀ̰í ÇÙ½ÉÀûÀÎ ¿ä¼Ò¸¦ »ìÆìº¸ÀÚ.


2.1 ÄÄÆ÷³ÍÆ® ¸ðµ¨


ÀÚ¹Ù´Â ±âº»ÀûÀ¸·Î ÄÄÆ÷³ÍÆ® ¸ðµ¨À» µû¸£°í ÀÖ´Ù. ÄÄÆ÷³ÍÆ® ¸ðµ¨À̶õ °³¹ßÀÚ°¡ »óÈ£°£¿¡ µ¿ÀûÀ¸·Î ¿¬°áµÉ ¼ö ÀÖ´Â ÄÄÆ÷³ÍÆ® ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇÒ ¼ö ÀÖµµ·Ï Á¦°øµÇ´Â APIµé°ú ±× ±¸Á¶¸¦ ¸»ÇÑ´Ù. ÄÄÆ÷³ÍÆ® ¸ðµ¨Àº Å©°Ô µÎ°¡Áö ¿ä¼Ò, Áï, ÄÄÆ÷³ÍÆ®(component)¿Í ÄÁÅ×À̳Ê(container)·Î ³ª´­ ¼ö ÀÖ´Ù. ¿©±â¼­, ÄÄÆ÷³ÍÆ®¶ó°í ÇÔÀº ¾ÆÁÖ ´Ü¼øÇÑ ¹öư ÄÄÆ÷³ÍÆ®¿¡¼­, ÇϳªÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÎ HTML ºê¶ó¿ìÀú±îÁö ±× Å©±â¿Í ±â´É¸é¿¡¼­ ±¤¹üÀ§ÇÑ °³³äÀ̶ó°í ÇÒ ¼ö ÀÖÀ¸¸ç, ÄÁÅ×À̳ʴ ÄÄÆ÷³ÍÆ®µéÀÇ ÁýÇÕ ¶Ç´Â ´Ù¸¥ ÄÁÅ×À̳ÊÀÇ ÁýÇÕÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù.


2.2 ÄÄÆ÷³ÍÆ® ¸ðµ¨ ¼­ºñ½º


ÄÄÆ÷³ÍÆ®°¡ Á¦°øÇÏ´Â ´Ù¼¸°¡Áö ÁÖ¿ä ±â´É



ÄÄÆ÷³ÍÆ® µî·Ï: ÄÄÆ÷³ÍÆ®°¡ µ¿ÀûÀ¸·Î È£ÃâµÉ ¼ö ÀÖ°í, À̺¥Æ® ¾Ë¸²À» µ¿ÀûÀ¸·Î ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÄÄÆ÷³ÍÆ® µî·Ï ±â´ÉÀ» Á¦°øÇÑ´Ù. ¿¹¸¦ µé¾î, ¿Â¶óÀÎ ¹ðÅ· ½Ã½ºÅÛÀÇ °æ¿ì ÇöÀçÀÇ ¿¹±Ý ±¸Á¿¡ ´ëÇÑ »óȲÀ» Â÷Æ®·Î ³ªÅ¸³»±â À§ÇÏ¿© Â÷Æ® ÄÄÆ÷³ÍÆ®¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î, Â÷Æ® ÄÄÆ÷³ÍÆ®´Â ÀÎÅÍÆäÀ̽º¸¦ ÄÄÆ÷³ÍÆ® ȯ°æ¿¡ µî·ÏÇϰí, µ¿ÀûÀ¸·Î À̸¦ È£ÃâÇÔÀ¸·Î½á µÎ ÄÄÆ÷³ÍÆ® °£¿¡ ¿¬°áÀÌ ÀÌ·ç¾îÁø´Ù.


À̺¥Æ® ó¸®: À̺¥Æ®¸¦ ¹ß»ý(raise)Çϰųª ¹æ¼Û(broadcast)ÇÏ´Â ¸ÞÄ«´ÏÁòÀÌ ¹Ù·Î À̺¥Æ® ó¸®ÀÌ´Ù. ¿¹¸¦ µé¾î, ¿Â¶óÀÎ ¹ðÅ· ½Ã½ºÅÛÀÇ °æ¿ì Â÷Æ® ÄÄÆ÷³ÍÆ®¿¡¼­ ¸·´ë ±×·¡ÇÁ³ª, ¼± ±×·¡ÇÁ µîÀÇ Á¾·ù¸¦ ¼±ÅÃÇÏ·Á°í ÇÒ ¶§, »ç¿ëÀڴ ƯÁ¤ÇÑ ¹öưÀ» ´©¸£°Ô µÈ´Ù. ¹öư ÄÄÆ÷³ÍÆ®ÀÇ ¹öưÀ» ´©¸£¸é À̺¥Æ® ó¸® ½Ã½ºÅÛÀÌ ¹öưÀÌ ´­·¯Á³´Ù´Â À̺¥Æ®¸¦ Â÷Æ® ÄÄÆ÷³ÍÆ®¿¡°Ô Àü´ÞÇÏ°Ô µÈ´Ù. À̺¥Æ®´Â ¸¶¿ì½º Ŭ¸¯°ú °°Àº ½Ã½ºÅÛÀÌ Áö¿øÇÏ´Â À̺¥Æ® »Ó¸¸¾Æ´Ï¶ó »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®µµ ó¸®ÇÒ ¼ö ÀÖ´Ù. ÀϹÝÀûÀÎ »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®´Â ƯÁ¤ÇÑ µ¥ÀÌÅÍÀÇ °ªÀÌ º¯°æµÇ¾úÀ» ¶§, À̸¦ ¾Ë·ÁÁÖ´Â À̺¥Æ®ÀÌ´Ù. ¾î¶² Á¶°ÇÀÌ º¯°æµÇ¾úÀ» ¶§ À̺¥Æ®¸¦ ½Ã½ºÅÛ À̺¥Æ®Ã³·³ µ¿ÀÏÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ¸ÞÄ«´ÏÁòÀ» °¡Áö°í ÀÖ´Ù.


»óÅÂÀúÀå: ¸¶Ä¡ Ç÷¡½¬ ¸Þ¸ð¸® ó·³ ÄÄÆ÷³ÍÆ® »óŸ¦ ÀúÀåÇÏ´Â ¸ÞÄ«´ÏÁòÀ» Á¦°øÇØÁØ´Ù. ÄÄÆ÷³ÍÆ® »óŶõ ÄÄÆ÷³ÍÆ®·Î ±¸¼ºµÈ ÄÁÅ×À̳ÊÀÇ ³»¿ë°ú ´Ù¸¥ ÄÄÆ÷³ÍÆ®¿Í °ü·ÃµÈ Á¤º¸¸¦ ¸»ÇÑ´Ù. ¿¹¸¦ µé¾î, ¿Â¶óÀÎ ¹ðÅ·ÀÇ °æ¿ì, »ç¿ëÀÚÀÇ °èÁ¤ Á¤º¸¿Í ¾î¶² Â÷Æ®¸¦ ¼±ÅÃÇÏ¿´´ÂÁö¸¦ ÀúÀåÇÏ±æ ¿øÇÒ °æ¿ì ¿µ±¸º¸°ü ¸ÞÄ«´ÏÁòÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.


·¹À̾ƿô: ÄÄÆ÷³ÍÆ® ¸ðµ¨À» Áö¿øÇÏ´Â ·¹À̾ƿô¿¡´Â Å©°Ô µÎ °¡Áö Á¾·ù°¡ ÀÖ´Ù. Çϳª´Â ÄÄÆ÷³ÍÆ® ¸ðµ¨ÀÌ ÀÚ½ÅÀÇ ¿µ¿ª³»¿¡¼­ °íÁ¤ÀûÀÎ À§Ä¡¸¦ È®º¸Çϵµ·Ï Áö¿øÇÏ´Â °ÍÀÌ°í ´Ù¸¥ Çϳª´Â ÄÁÅ×ÀÌ³Ê ¾È¿¡¼­ »ó´ëÀûÀÎ À§Ä¡¸¦ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤ÇØÁÖ´Â °ÍÀÌ´Ù. ¶ÇÇÑ, ÄÄÆ÷³ÍÆ®°¡ ¼öÇàµÇ¾úÀ» °æ¿ì¿¡´Â °Å±â¿¡ ¾Ë¸Â´Â 󸮸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, ¸Þ´º¹Ù¸¦ º´ÇÕÇÏ´Â ±â´ÉÀÌ ¿©±â¿¡ ÇØ´çµÈ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÁÖ¿ä ±â´ÉÁßÀÇ Çϳª´Â ÄÁÅ×À̳ʿ¡ Æ÷ÇԵǾî ÀÖ´Â ÄÄÆ÷³ÍÆ®ÀÇ ·¹À̾ƿôÀ» ó¸®ÇÏ´Â °ÍÀÌ´Ù. ´ëºÎºÐÀÇ ÄÄÆ÷³ÍÆ®´Â °¢°¢ÀÇ ÄÄÆ÷³ÍÆ®°¡ ÀÏÁ¤ÇÑ »ç°¢ ¿µ¿ªÀ» È®º¸ÇÏ°í °Å±â¿¡ 󸮵Ǵ °ÍÀ» ¿øÇÑ´Ù. ÀÌ¿Í ´Þ¸®, ¹öư ÄÄÆ÷³ÍÆ®µéÀº ³í¸®ÀûÀ¸·Î ±× »óȲ¿¡ ¸Â°Ô ·¹À̾ƿôÀÌ ÀÚµ¿ÀûÀ¸·Î Á¤ÇØ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. Áï, ÃÖÁ¾ »ç¿ëÀÚ°¡ ½ÇÇà½Ã°£¿¡ ºÒÇÊ¿äÇÏ°Ô ·¹À̾ƿôÀ» Á¶Á¤ÇؾßÇÏ´Â ÀÏÀ» ÇÒ Çʿ䰡 ¾ø´Ù.


¾ÖÇ÷¡ÄÉÀÌ¼Ç ¹ÙÀδõ Áö¿ø: ¾ÖÇø®ÄÉÀÌ¼Ç ¹ÙÀδõ Áö¿ø´Â ÄÄÆ÷³ÍÆ®ÀÇ Æ¯¼º°ú µ¿ÀÛÀ» °³¹ß ÅøÀ» ÀÌ¿ëÇÏ¿© ÀÚÀ¯·Ó°Ô º¯°æ½Ãų ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. °³¹ß ÅøÀ» ÀÌ¿ëÇÏ¿© °¢°¢ÀÇ ÄÄÆ÷³ÍÆ®µéÀ» ¼­·Î ¿¬°á ½Ãų ¶§, °¢ ÄÄÆ÷³ÍÆ®°¡ °¡Áö°í Àִ Ư¼ºµéÀÇ ÃʱⰪÀ̳ª »óÈ£°£¿¡ ÀÎÅÍÆäÀ̽º ¿¬°á µîÀ» ÀÓÀÇ´ë·Î º¯°æ½Ãų ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, ¿Â¶óÀÎ ¹ðÅ· ¼­ºñ½º¿¡¼­ ¹öư°ú Â÷Æ® ÄÄÆ÷³ÍÆ®´Â ¸·´ë ¹öư°ú ¼± ¹öưÀ» ÅëÇØ¼­ ¾î¶² Â÷Æ®°¡ ±×·ÁÁú °ÍÀΰ¡°¡ °áÁ¤µÇ°Ô µÈ´Ù. ¶ÇÇÑ, ÀÌ·¯ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¶§ Ư¼º ¿¡µðÅ͸¦ ÀÌ¿ëÇÏ¿©, ¹öưÀÇ »ö»ó, Å©±â, ·¹À̺í°ú Â÷Æ®ÀÇ Á¾·ùÀÇ ÃʱⰪÀ» ¼³Á¤ÇØ ³õÀ» ¼ö ÀÖ´Ù. ¶ÇÇÑ, °³¹ßÀÚ´Â ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß ÅøÀÇ ¸ÞÄ«´ÏÁò¿¡ µû¶ó ¹öư Ŭ¸¯ À̺¥Æ®¿Í Â÷Æ® Çü½ÄÀÇ °ü°è¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù.



2.3 ºÐ»ê ÄÄÇ»ÆÃ ȯ°æ


´Ù¼¸°¡Áö ÄÄÆ÷³ÍÆ® ¼­ºñ½º¿¡ Ãß°¡ÀûÀ¸·Î ÄÄÆ÷³ÍÆ® ¸ðµ¨Àº ºÐ»ê ÄÄÇ»ÆÃ ȯ°æ¿¡¼­ÀÇ ÄÄÆ÷³ÍÆ® »ç¿ë¿¡ ´ëÇÑ Àü·«À» Á¦°øÇϱ⵵ ÇÑ´Ù. ¿¹¸¦ µé¾î, °øÀåÀÇ ±â°èµéÀÇ µ¿ÀÛ »óŸ¦ Á¡°ËÇÏ´Â ¸ð´ÏÅÍ ÄÄÆ÷³ÍÆ®°¡ ¼­¹ö ÄÄÇ»ÅÍ¿¡¼­ µ¿ÀÛÇÑ´Ù°í °¡Á¤ÇÏÀÚ. ¸¸¾à µ¥ÀÌÅͰ¡ º¯°æµÉ °æ¿ì¿¡ ¼­¹ö ÄÄÆ÷³ÍÆ®´Â µ¥½ºÅ©Å¾ ÄÄÇ»ÅÍ¿¡°Ô ³×Æ®¿öÅ©¸¦ ÅëÇÏ¿© À̺¥Æ®¸¦ Àü´ÞÇÑ´Ù. µ¥½ºÅ©Å¾ ÄÄÆ÷³ÍÆ®´Â ÀÌ¿¡ ¸Þ½ÃÁö¸¦ È­¸é¿¡ Ãâ·ÂÇѴٴ°¡, ±×·¡ÇÁÀÇ ÇüŸ¦ º¯°æÇÑ´Ù´ø°¡ ÇÏ´Â ÀûÀýÇÑ ´ëÀÀÀ» ÇÏ°Ô µÈ´Ù. ÀÌ·± ¹æ¹ýÀº ´ÜÀÏ ÄÄÇ»ÅÍ È¯°æ¿¡¼­ ó¸®ÇÏ´Â °Í°ú ¸í¹éÇÑ Â÷ÀÌÁ¡À» °¡Áö°í ÀÖ´Ù. ´ë½Å¿¡ ³×Æ®¿öÅ©¸¦ ÀÌ¿ëÇϴµ¥ µû¸£´Â ¾ÈÀü¼º°ú È¿À²¼ºÀÇ ¹®Á¦´Â »õ·Ó°Ô ÇØ°áÇØ¾ß ÇÏ´Â ºÎ´ãÀ» °¡Áö°Ô µÈ´Ù.


¾î°µç, ´ÜÀÏ ÄÄÇ»ÆÃ ½Ã½ºÅÛÀ» À̱âÁ¾°£ÀÇ ºÐ»ê ³×Æ®¿öÅ© ȯ°æÀ¸·Î º¯È­ÇÏ·Á°í ÇÏ´Â ¸¹Àº ³ë·ÂµéÀÌ Á¸ÀçÇØ ¿ÔÀ¸¸ç, ÀÌ·± ¹®Á¦´Â ¼­·Î »óÃæµÇ´Â ¹®Á¦Á¡À» °¡Áö°í ÀÖ´Ù. Áï, µ¥½ºÅ©Å¾ ÄÄÆ÷³ÍÆ® ¸ðµ¨Àº º¹ÀâÇÑ API¿Í ½ÇÇà ȯ°æÀ» ¿ä±¸Çϰí, ºÐ»ê ÄÄÇ»ÆÃ¿¡¼­´Â ¾ÈÀü¼º°ú °°Àº °üÁ¡¿¡¼­´Â ´Ù¼Ò ºÎÁ·ÇÑ °ÍÀÌ Çö½ÇÀÌ´Ù. µû¶ó¼­, ÄÄÆ÷³ÍÆ® ¸ðµ¨Àº ¿Ïº®ÇÑ ºÐ»ê ÄÄÇ»ÆÃ ±â´ÉÀ» Á¦°øÇÏ·Á´Â °Í¿¡ ´ëÇÑ ´Ù¾çÇÑ ³ë·ÂµéÀÌ ÁøÇàµÇ°í ÀÖ´Ù. ¿¹¸¦ µé¾î, CORBA¿Í °°Àº ºÐ»ê ÄÄÇ»ÆÃ ȯ°æÀ» Áö¿øÇÏ´Â ¹æ¹ýµéÀ» °í·ÁÇÒ ¼ö ÀÖ´Ù. Áï, ´ÜÀÏ ÄÄÇ»ÅÍÀÇ ÄÄÆ÷³ÍÆ® ¸ðµ¨Àº ´Ü¼øÇϰí ÀÛ°Ô À¯ÁöÇϰí, ºÐ»ê ȯ°æ ±â´ÉÀº CORBA¿Í °°Àº ¾ÖÇø®ÄÉÀ̼ÇÀÌ Ã³¸®ÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù.


2.4 Java Beans API ÇÏÀ̶óÀÌÆ®


Java BeansÀº µ¿ÀÛ ÀÚ¹Ù ÄÄÆ÷³ÍÆ®¿Í ÄÁÅ×ÀÌ³Ê ±â´ÉÀ» »ç¿ëÇÏ°í °³¹ßÇÒ ¼ö ÀÖ´Â ±¸Á¶¿Í Ç÷§Æû¿¡ Á߸³ÀûÀÎ API·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. ¾Õ¼­ ¼³¸íÇÑ ´Ù¼¸°¡Áö ÄÄÆ÷³ÍÆ® ¸ðµ¨ÀÇ ¼­ºñ½º¸¦ Áö¿øÇÑ´Ù.



Java Beans ÄÄÆ÷³ÍÆ® ¸ðµ¨ ¼­ºñ½º´Â ƯÁ¤ ÄÄÆ÷³ÍÆ® ¸ðµ¨ °£ÀÇ ´Ù¸® ¿ªÇÒÀ» ¼öÇàÇÏ°Ô µÇ´Âµ¥ ¿©±â¿¡´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ OLE/COM, CI LabÀÇ OpenDoc, ³×½ºÄÉÀÌÇÁÀÇ Live Connect¸¦ Æ÷ÇÔÇÑ´Ù. ¶ÇÇÑ, Java Beans´Â ÀÚ¹Ù¼ÒÇÁÆ®ÀÇ ³»Àå JavaOS¿¡¼­µµ µ¿ÀÛÇÑ´Ù. Java Bean API¿Í ´Ù¸¥ ¿©·¯ Á¾·ùÀÇ ÄÄÆ÷³ÍÆ® ¸ðµ¨¿¡ ´ëÇÑ ¿¬°áÀ» À§ÇÑ ¶óÀ̺귯¸®°¡ °³¹ßµÉ °ÍÀÌ´Ù.


µû¶ó¼­, °³¹ßÀÚµéÀº Java Beans API¸¦ ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î Àڹ٠ȯ°æ¿¡¼­ ¿Ïº®ÇÑ ÄÄÆ÷³ÍÆ®µéÀ» °³¹ßÇÒ ¼ö ÀÖ°Ô µÈ´Ù. °³¹ßÀÚµéÀº ´Ù¸¥ ÄÄÆ÷³ÍÆ® ¸ðµ¨À» À§ÇÑ Ãß°¡ÀûÀÎ ÀÛ¾÷ÀÌ ºÒÇÊ¿äÇϸç, À̵é ÄÄÆ÷³ÍÆ®µéÀº Àڹ٠ȯ°æ¿¡¼­ À¯¿¬ÇÏ°Ô µ¿ÀÛÇÑ´Ù. ¶ÇÇÑ, Java Beans ÄÁÆ÷³ÍÆ®µéÀº Çѹø¸¸ °³¹ßÇÏ°í ¾îµð¼­µç »ç¿ëÇÒ ¼ö ÀÖ´Â »õ·Î¿î ·¹º§À» Á¦°øÇØÁØ´Ù. Java Beans´Â Live Connect³ª Javascript¸¦ »ç¿ëÇÏ´Â ³×½ºÄÉÀÌÇÁ³ª, ÇÖÀÚ¹Ù¿Í ´Ù¸¥ ÀÚ¹Ù ÄÁÅ×À̳Ê, Explorer, ºñÁÖ¾óº£ÀÌÁ÷, À©µµ¿ì ½©, MS ¿öµå¿Í °°Àº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ÄÁÅ×À̳Ê, OpenDoc ÄÁÅ×À̳Ê, PowerBuilder¿Í °°Àº OLE ÄÁÅ×À̳Ê, µ¨ÆÄÀÌ¿Í OLE/COMÀ» Áö¿øÇÏ´Â ´Ù¸¥ ºñÁê¾ó ºô´õ Åø¿¡¼­ À¯¿¬ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.


Java Beans ¼­ºñ½º´Â ÀÚ¹Ù Ç÷§ÆûÀÇ ÀϺÎÀ̹ǷΠJava Beans´Â ÀÌ¿ëÇϱâ À§ÇÑ Æ¯º°ÇÑ ¿ÜºÎ ¶óÀ̺귯¸®°¡ ÇÊ¿ä¾ø´Ù. ´ÜÁö Ãß°¡ÀûÀ¸·Î Java BeansÀÌ ¿ÜºÎ ÄÁÅ×ÀÌ³Ê¿Í ÀÚ¹Ù ¾ÖÇ÷§ °£¿¡ µ¿ÀûÀ¸·Î Åë½ÅÀÌ °¡´ÉÇϵµ·Ï ÇØÁÖ¸é µÈ´Ù.


¶ÇÇÑ, Java Beans Ç÷§Æû°ú ±¸Á¶°¡ Á߸³ÀûÀÎ API À̹ǷΠ´Ù¸¥ ÄÄÆ÷³ÍÆ® ¸ðµ¨°ú °°ÀÌ Æ¯º°ÇÑ Ç÷§ÆûÀ̳ª Çϵå¿þ¾î¿¡ Á¾¼ÓµÇÁö ¾Ê±â ¶§¹®¿¡ Java Beans¸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¥ »óǰµéÀÌ ±¤¹üÀ§ÇÑ ½ÃÀåÀ» Çü¼ºÇÒ °ÍÀ¸·Î ±â´ëµÈ´Ù. ´õ±¸³ª, Java BeansÀÇ »ç¿ëÀÚ´Â ÄÄÆ÷³ÍÆ®¸¦ ´Ù·ç´Â Ưº°ÇÑ ±â¼úÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê±â ¶§¹®¿¡ Æø³ÐÀº ÀÎÅÍ³Ý ÀÀ¿ë ºÐ¾ß°¡ Á¸ÀçÇϸç, ÃÖ±Ù °¢±¤À» ¹Þ°í ÀÖ´Â ÀÎÆ®¶ó³Ý, Ŭ¶óÀ̾ðÆ®/¼­¹ö ÀÀ¿ë ÇÁ·Î±×·¥ ¿µ¿ª±îÁö Ȱ¿ëÇÒ ¼ö ÀÖ´Ù.


2.5 Java Beans ¼³°èÀÇ ¸ñÀû


Java Beans API¿Í ±¸ÇöÀ» À§ÇÏ¿© ¼³°è¸¦ ½ÃÀÛÇÏ¿´À» ¶§ ¸ñÀûÀº ´ÙÀ½°ú °°Àº °ÍÀ¸·Î Áý¾àµÉ ¼ö ÀÖ´Ù.


    1. Java Beans API´Â »ý¼º°ú »ç¿ëÀÌ ½±°í °£°áÇÑ ÄÄÆ÷³ÍÆ®¸¦ ¸¸µå´Âµ¥ ÀÖ´Ù.

    2. Java Beans´Â ¿ÏÀüÇÑ À̽ļºÀ» °¡Áø´Ù.

    3. Java Beans´Â Java Ç÷§ÆûÀÌ °¡Áö´Â ¸¹Àº ÀåÁ¡µéÀ» ±×´ë·Î ¼ö¿ëÇÑ´Ù.

    4. Java Beans´Â °­·ÂÇÑ ºÐ»ê ÄÄÇ»ÆÃ ȯ°æÀ» Á¦°øÇÑ´Ù.

    5. À¯¿¬¼ºÀÖ´Â °³¹ß ½Ã°£ ÄÄÆ÷³ÍÆ® ¿¡µðÅ͸¦ Á¦°øÇÑ´Ù.


      2.6 Java Beans °³¹ßÀÚ°¡ µÇ±â À§ÇÑ Áغñ


      • Java BeansÀÇ °³¹ßÀÚ°¡ µÇ±â À§Çؼ­´Â ¹«¾ùº¸´Ùµµ ÀÚ¹Ù¿¡ ´ëÇÑ ¸íÈ®ÇÑ ÀÌÇØ°¡ ÀÖ¾î¾ß Çϰí, ÀÌ¿¡ ´ëÇÑ ½Ã°£ ÅõÀÚ¸¦ °ÔÀ»¸® ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.

      • ƯÈ÷ °³¹ßÀÚ´Â ÀÚ¹Ù AWTÀÇ ÀåÁ¡À» Àß È°¿ëÇÒ ¼ö ÀÖ¾î¾ß Çϸç, ÀÚ¹ÙÀÇ serializationÀ» Àß ÀÌÇØÇϰí ÀÖ¾î¾ß ÇÑ´Ù.

      • º¸´Ù º¹ÀâÇÏ°í ºÐ»ê ȯ°æ¿¡ ÀûÇÕÇÑ ÀÚ¹Ù ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °³¹ß°ú ¼³°è¸¦ ¼öÇàÇØ¾ß ÇÑ´Ù. ÀÚ¹ÙÀÇ RMI (remote method invocation)¿¡ ´ëÇÑ ¹æ¹ý°ú CORBAÀÇ Ç¥ÁØ IDLÀ» »ç¿ë¹ýÀ» ¼÷ÁöÇØ¾ÆÇÑ´Ù.


      3. Java BeansÀÇ ±âÃÊ °³³ä


      3.1 Java Beans¿Í Ŭ·¡½º ¶óÀ̺귯¸®


      À¯¿ëÇÑ ¸ðµç ¼ÒÇÁÆ®¿þ¾î ¸ðµâÀÌ ¸ðµÎ Java Beans¿¡ ÇØ´çµÇÁö ¾Ê´Â´Ù. ÀÌµé ¸ðµâ Áß¿¡ ºñÁê¾ó ȯ°æÀ» Á¦°øÇϸç, Ư¼ºÀ» ÀÓÀÇ´ë·Î º¯°æÇÒ ¼ö ÀÖ´Â ¸ðµâÀÌ ÀÌ¿¡ ÇØ´çÇÑ´Ù. Ŭ·¡½º ¶óÀ̺귯¸®´Â »ç¿ëÀÚ¿¡°Ô À¯¿ëÇÑ È¯°æÀ» Á¦°øÇØÁÖÁö¸¸ ºñÁê¾ó ȯ°æ¿¡ Á÷Á¢ÀûÀ¸·Î ¿µÇâÀ» ÁÖ´Â °ÍÀº ¾Æ´Ï´Ù.


      3.2 Ư¼º, À̺¥Æ®, ¸Þ¼Òµå


      Java Beans°¡ °¡Áö´Â °¡Àå Å« Ư¡ ¼¼°¡Áö°¡ ¹Ù·Î Ư¼º(property), À̺¥Æ®(event), ¸Þ¼Òµå(method)ÀÌ´Ù.


      Ư¼ºÀ̶ó ÇÔÀº Ư¼º°ú °ü·ÃµÈ ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© °ªÀ» Àаųª º¯°æÇÒ ¼ö ÀÖ´Â »óŵéÀÇ ÁýÇÕÀÌ´Ù. ¿¹¸¦ µé¾î, ¹è°æ»ö°ú °ü·ÃµÈ ¸Þ¼Òµå getBackgroundColor()´Â ¹è°æ»ö Ư¼ºÀ» Àоî¿À´Â ¸Þ¼ÒµåÀ̸ç, setBackgroundColor()´Â ¹è°æ»ö Ư¼ºÀ» º¯°æÇÏ´Â ¸Þ¼Òµå°¡ µÈ´Ù.


      ¸Þ¼Òµå´Â ´Ù¸¥ ÄÄÆ÷³ÍÆ® ¶Ç´Â ´Ù¸¥ ½ºÅ©¸³Æ® ȯ°æ¿¡¼­ È£Ãâ °¡´ÉÇÑ ÀÎÅÍÆäÀ̽º·Î, Java Beans¿¡¼­´Â ¸ðµç ¸Þ¼Òµå´Â publicÀ¸·Î Á¤ÀǵǸç, ÀÌµé ¸Þ¼Òµå Áß¿¡¼­ ÇÊ¿äÇÑ ¸Þ¼Òµå¸¸ ¼±ÅÃÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù.


      À̺¥Æ®´Â ¾î¶² ÄÄÆ÷³ÍÆ®°¡ ´Ù¸¥ ÄÄÆ÷³ÍÆ®¿¡°Ô ¹«¾ùÀΰ¡ °ü½ÉÀ» ±â¿ïÀϸ¸ÇÑ ÀÏÀÌ ¹ß»ýÇÏ¿´´Ù´Â °ÍÀ» ¾Ë·ÁÁØ´Ù. »õ·Î¿î AWT À̺¥Æ® ¸ðµ¨¿¡¼­´Â À̺¥Æ® ¼Ò½º°¡ À̺¥Æ® ûÃëÀÚ °´Ã¼¸¦ µî·ÏÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù. À̺¥Æ® ¼Ò½º¿¡ ÀÇÇØ¼­ °ü½ÉÀÖ´Â »ç°ÇÀÌ ¹ß»ýÇÏ¸é °´Ã¼ ÄÁÅ×À̳ʿ¡¼­ ÀûÀýÇÑ ¸Þ¼Òµå¸¦ È£ÃâÇÏ°Ô µÈ´Ù.


      3.3 µðÀÚÀÎ ½Ã°£°ú ½ÇÇà ½Ã°£


      Java Beans ÄÄÆ÷³ÍÆ®´Â ´Ù¾çÇÑ È¯°æ¿¡¼­ µ¿ÀÛÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ÇÏÁö¸¸, ´Ù¸¥ ȯ°æ¿¡¼­ µ¿ÀÛÇÏ´õ¶óµµ Á¦°øµÇ´Â ±â´ÉÀÇ Àϰü¼ºÀº °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ¼­·Î ´Ù¸¥ ȯ°æÀ̶ó°í »ý°¢ÇÒ ¼ö ÀÖ´Â °æ¿ì´Â Å©°Ô µÎ °¡Áö °æ¿ìÀÌ´Ù.


      ù°, °³¹ß Åø ¾È¿¡¼­ µ¿ÀÛÇÏ´Â °æ¿ì·Î À̸¦ µðÀÚÀΠȯ°æ (design environment) ¶Ç´Â °³¹ß ȯ°æÀ̶ó°í ¸»ÇÒ ¼ö ÀÖ´Ù. À̶§¿¡´Â ÄÄÆ÷³ÍÆ®ÀÇ Æ¯¼ºÀ» °³¹ß ÅøÀÌ ÀÌÇØÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ´Â °³¹ßÀÚ°¡ ÄÄÆ÷³ÍÆ®¸¦ ÀڱⰡ ¿øÇϴ´ë·Î ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁֱ⠶§¹®¿¡ ¸Å¿ì Áß¿äÇÏ´Ù. À̸¦ Ä¿½ºÅ͸¶ÀÌ¡(custermizing)À̶ó°í Çϴµ¥ ÀÌ·¯ÇÑ ±â´ÉÀº ¸¶Ä¡ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ À§Àúµå(wizard) ±â´É°ú À¯»çÇÏ´Ù. Áï, »ç¿ëÀÚ´Â ÄÄÆ÷³ÍÆ®ÀÇ Áö½Ã´ë·Î Çϳª¾¿ ¼±ÅÃÇØ ³ª°¡¸é, ÃÖÁ¾ÀûÀ¸·Î Ä¿½ºÅ͸¶ÀÌ¡ÀÌ ¿Ï·áµÇ´Â ÀÚµ¿È­µÈ ±â´ÉµéÀ» Á¦°øÇϱâ À§Çؼ­´Â ³»ºÎÀûÀ¸·Î º¹ÀâÇÑ ÀÛ¾÷ÀÌ ÀÌ·ç¿öÁö°Ô µÈ´Ù. ÇÏÁö¸¸, ÀÌ·¯ÇÑ ±â´ÉµéÀº µÎ¹øÂ° °æ¿ì¿¡ ÇØ´çÇÏ´Â ½ÇÇà ½Ã°£¿¡´Â ¾Æ¹«·± Àǹ̰¡ ¾ø´Ù. µû¶ó¼­, µðÀÚÀÎ ½Ã°£¿¡ ÇÊ¿äÇÑ ÄÚµå ºÎºÐ°ú ½ÇÇà ½Ã°£¿¡ ÇÊ¿äÇÑ ÄÚµå ºÎºÐÀ» ³ª´­ ¼ö À־ ½ÇÇà½Ã°£¿¡´Â µðÀÚÀÎ ½Ã°£¿¡ ÇÊ¿äÇÑ Äڵ尡 ¾µ¸ð¾øÀÌ ·ÎµùµÇ´Â °ÍÀ» ¸·¾Æ¾ß ÇÑ´Ù.


      À̸¦ À§Çؼ­, Java Beans´Â µðÀÚÀÎ ½Ã°£ ÀÎÅÍÆäÀ̽º¿Í ½ÇÇà ½Ã°£ ÀÎÅÍÆäÀ̽º·Î ³ª´©´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Ù.


      3.4 ÀÎÁõ¿¡ °ü·ÃµÈ ¹®Á¦


      Java Beans´Â ±âº»ÀûÀ¸·Î ÀÚ¹Ù Ç÷§Æû°ú µ¿ÀÏÇÑ È¯°æ¿¡¼­ µ¿ÀÛÇÑ´Ù. µû¶ó¼­, ÀÎÁõ¿¡ °üÇÑ ¹®Á¦¿¡ À־µµ ÀÚ¹Ù Ç÷§Æû°ú µ¿ÀÏÇÑ °ü°è¸¦ °®´Â´Ù.


      ƯÈ÷, Java Beans°¡ ¾ÖÇ÷§À¸·Î µ¿ÀÛÇÒ °æ¿ì¿¡´Â ½Å·ÚÇÒ ¼ö ¾ø´Â ȯ°æÀ̱⠶§¹®¿¡ Áö¿ª ÀúÀå ½Ã½ºÅÛÀ» Á¦¾îÇÑ´Ù´ø°¡, ÀÓÀÇÀÇ È£½ºÆ®¿Í Åë½ÅÇÑ´Ù´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù. ÇÏÁö¸¸, Java Beans°¡ µ¶ÀÚÀûÀ¸·Î ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î µ¿ÀÛÇÒ °æ¿ì¿¡´Â ÀÚ¹Ù Ç÷§Æû°ú ¸¶Âù°¡Áö·Î ÆÄÀÏ Á¦¾î¿Í È£½ºÆ® Åë½ÅÀÌ °¡´ÉÇÏ´Ù.


      ÀϹÝÀûÀ¸·Î Java Beans´Â ¾ÖÇ÷§À¸·Î µ¿ÀÛÇÑ´Ù´Â °ÍÀ» °¡Á¤ÇÑ´Ù. ÀÌ¿¡ ´ëÇÑ Java BeansÀÇ Á¦ÇÑÀûÀΠƯ¡À» ´ÙÀ½°ú °°ÀÌ ¼³¸íÇÒ ¼ö ÀÖ´Ù.


      ÀÚ±âÈ®ÀÎ(Introspection): Java Beans´Â °³¹ßÀÚ¿¡°Ô °í¼öÁØÀÇ ÀÚ±âÈ®ÀÎ API¿Í Àú¼öÁØÀÇ ¹ÝÇâ(reflection) API¸¦ µðÀÚÀÎ ½Ã°£¿¡ Á¦ÇѾøÀÌ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÖÁö¸¸, ½ÇÇà½Ã°£¿¡´Â ¾ö°ÝÇÏ°Ô Á¦ÇÑÇÑ´Ù. ÀϹÝÀûÀ¸·Î µðÀÚÀÎ ½Ã°£¿¡´Â ÀÚ¹Ù ¾ÖÇø´Àº ½Å·Ú¼ºÀ» °®°í ¼öÇàÇÏ°Ô µÇ¹Ç·Î public »Ó ¾Æ´Ï¶ó private Ư¼ºµéµµ º¯°æ°¡´ÉÇϰí, ½ÇÇà½Ã°£¿¡´Â ÀÚ¹Ù ¾ÖÇø´ÀÌ ½Å·Ú¼ºÀ» °¡Áö°í ÀÖÁö ¾ÊÀ¸¹Ç·Î ¿ÀÁ÷ public ¸Þ¼Òµå¸¸À» ÅëÇÏ¿© Á¢±ÙÇÒ ¼ö ÀÖ´Ù.


      »óÅÂÀúÀå(Persistence): Java Beans´Â µðÀÚÀÎ ½Ã°£°ú ½ÇÇà ½Ã°£ ¸ðµÎ Á÷·ÄÈ­¿Í ºñÁ÷·ÄÈ­¸¦ ½Ãų ¼ö ÀÖ´Ù. ±×·¸Áö¸¸ ½ÇÇà ½Ã°£ ȯ°æ¿¡¼­´Â Á÷·ÄÈ­µÈ ½ºÆ®¸²ÀÌ ºÎ¸ð ¾ÖÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ »ý¼ºµÇ¾î¾ß Çϰí, ´ÜÁö ÆÄÀÏÀÇ ÀÔÃâ·ÂÀº Á÷·ÄÈ­µÇÁø ¾Ê´Â´Ù. ¶§¹®¿¡ ºê¶ó¿ìÀú¿¡ ÀÇÇØ¼­ ÆÄÀÏ ÀÔÃâ·ÂÀÌ Á÷·ÄÈ­µÇ¾î¾ß Çϳª, ¾ÖÇ÷§ÀÌ ÆÄÀÏÀ» ·¥´ýÇÏ°Ô Á¢±ÙÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» °¡Á¤Çϰí ÀÖ´Ù.


      GUI ¸Ó¡(GUI merging): ÀϹÝÀûÀ¸·Î ½Å·Ú¼ºÀÌ ¾ø´Â ¾ÖÇ÷§Àº ºÎ¸ð ¾ÖÇø®ÄÉÀ̼ǰú ¾î¶² Á¾·ùÀÇ GUI ¸Ó¡µµ ºÒ°¡´ÉÇÏ´Ù. µû¶ó¼­, ¾ÖÇ÷§À¸·Î ½ÇÇàµÈ Java Beans´Â ½Å·Ú¼ºÀÌ ¾øÀ¸¹Ç·Î ¸Þ´º¿¡ ´ëÇÑ GUI ¸Ó¡ÀÌ ºÒ°¡´ÉÇÏ¸ç ´ÜÁö º°°³ÀÇ ¸Þ´º¸¸À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.


      ÀÌ´Â Java ¾ÖÇø®ÄÉÀ̼ǿ¡´Â ÇØ´çµÇÁö ¾ÊÀº Á¦ÇÑ »çÇ×À̸ç Java ¾ÖÇ÷§¿¡¼­¸¸ °®´Â Ư¼öÇÑ Á¦ÇÑ »çÇ×ÀÌ´Ù.


      3.5 Java Beans°ú ¿ø°Ý Á¢¼Ó


      Java Beans´Â WWW¿Í °°Àº ºÐ»ê ȯ°æ¿¡¼­ Àß µ¿ÀÛÇϵµ·Ï ¼³°èµÇ¾ú´Ù. ºÐ»ê ½Ã½ºÅÛÀÇ ÇÙ½ÉÀûÀÎ ±â¼úÀº ¾î¶»°Ô ±â´ÉµéÀ» ºÐ»ê ½ÃÄѳõÀ» °ÍÀΰ¡ Çϴµ¥ ÀÖ´Ù. Áö¿ª ¾È¿¡¼­´Â ¸Å¿ì ºü¸£°Ô Åë½ÅÀÌ °¡´ÉÇϳª, ³×Æ®¿öÅ©¸¦ ÅëÇÑ Á¢±ÙÀº ±× ¼Óµµ°¡ ¸Å¿ì ´À¸± ¼ö Àֱ⠶§¹®ÀÌ´Ù. À̸¦ ÇØ°áÇϱâ À§ÇÏ¿© ºÐ»ê ½Ã½ºÅÛÀ» ¼³°èÇÒ ¶§ °¡±ÞÀû ¿ø°ÝÁö °£ÀÇ Åë½Å·®Àº ÃÖ¼ÒÈ­Çϰí, »óÈ£ Àü´ÞÇØ¾ßÇÒ ¸Þ½ÃÁö´Â µ¥ÀÌÅÍ Ä³½¬µîÀ» ÅëÇÏ¿© Æ®·¡ÇÈ ·®À» ÁÙÀÌ´Â ¹æÇâÀ¸·Î ÁøÇàµÇ¾î¾ß ÇÑ´Ù.


      µû¶ó¼­, ÀÌ·¯ÇÑ ºÐ»ê ȯ°æ¿¡ Java Beans¸¦ ÀÌ¿ëÇϸé, ³×Æ®¿öÅ©¸¦ ÅëÇÏ³à ¿ø°ÝÁö °£ÀÇ Åë½ÅÀ» ¸Å¿ì °£´ÜÇÏ°Ô Ã³¸®ÇÒ ¼ö ÀÖ´Ù. Java Beans°¡ Áö¿øÇÏ´Â Åë½Å ¸ÞÄ«´ÏÁò¿¡´Â ´ÙÀ½°ú °°ÀÌ ¼¼ °¡Áö°¡ Á¸ÀçÇÑ´Ù.


      Java RMI (Remote Method Invocation): Java RMI´Â ºÐ»ê Àڹ٠ȯ°æ¿¡ ÀûÇÕÇÑ ¸ÞÄ«´ÏÁòÀÌ´Ù. ºÐ»ê ½Ã½ºÅÛ °£ÀÇ Åë½ÅÀº Ŭ¶óÀ̾ðÆ®/¼­¹ö ¸ðµ¨·Î Java Beans¸¦ ÀÌ¿ëÇÏ°Ô µÇ¸ç, ¿ø°ÝÁö °£ÀÇ È£ÃâÀº ÀÚµ¿ÀûÀ¸·Î Java Beans¿¡ ÀÇÇØ¼­ ÀÌ·ç¾îÁø´Ù. ÀÌ·¯ÇÑ Á¢±Ù ¹æ¹ýÀº ÀÚ¹Ù °³¹ß ȯ°æ¿¡¼­´Â ¸Å¿ì ÀÏ»óÀûÀÎ Çö»óÀÌ µÉ °ÍÀÌ´Ù.


      Java IDL: Java IDLÀº »ê¾÷Ç¥ÁØÀÎ OMG CORBA ºÐ»ê °´Ã¼ ¸ðµ¨À» ±¸ÇöÇØ ÁØ´Ù. ¸ðµç ½Ã½ºÅÛ ÀÎÅÍÆäÀ̽º´Â CORBA IDL·Î Á¤ÀÇ µÇ°í, ÀÚ¹Ù¿¡ ÇØ´çÇÏ´Â ºÎºÐÀÇ IDL ÀÎÅÍÆäÀ̽ºÀÇ ÀϺηΠÆ÷ÇÔµÇ°Ô µÈ´Ù. Java Bean Ŭ¶óÀÌ¾ðÆ®´Â IDL ¼­¹ö¸¦ È£ÃâÇϰųª È£ÃâµÉ ¼ö ÀÖ´Ù. CORBA IDLÀº ´ÙÁß ¾ð¾î, ´ÙÁß ¾÷üÀÇ ºÐ»ê ÄÄÇ»ÆÃ ȯ°æÀ» Á¦°øÇϱ⠶§¹®¿¡ ÀÚ¹Ù¸¦ ÀÌ¿ëÇÏÁö ¾ÊÀº ´Ù¸¥ ȯ°æÀÇ IDL ¼­¹ö¿Í Åë½ÅÀÌ °¡´ÉÇÏ´Ù.


      JDBC: ÀÚ¹Ù µ¥ÀÌÅͺ£À̽º API·Î½á JDBC´Â SQL µ¥ÀÌÅͺ£À̽º ¼­¹ö¿¡ Á¢±ÙÀÌ °¡´ÉÇϵµ·Ï ÇØÁØ´Ù. µ¥ÀÌÅͺ£À̽º´Â Ŭ¶óÀÌ¾ðÆ®·Î °°Àº ½Ã½ºÅÛ ¾È¿¡¼­ µ¿ÀÛÇϰųª ¿ø°ÝÁö µ¥ÀÌÅͺ£À̽º·Î µ¿ÀÛÇÒ ¼ö ÀÖ´Ù. À̸¦ À§ÇÏ¿© °³º° Java Beans´Â ƯÁ¤ÇÑ µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ¼öÁ¤µÉ ¼ö ÀÖ´Ù.



      3.6 ºñ°¡½ÃÀûÀÎ Java Beans


      ¸¹Àº Java Beans°¡ GUI·Î ³ªÅ¸³»Áö°ÚÁö¸¸, ¾Æ¹«·± GUI¸¦ °¡ÁöÁö ¾ÊÀº Java Beans°¡ Á¸ÀçÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ Java Beansµµ ¿©ÀüÈ÷ ¸Å¼ÒÆ®, À̺¥Æ®, ¿µ±¸º¸Á¸ µîÀÇ ±â´ÉÀÌ °¡´ÉÇϸç, GUI ºô´õ¿¡ ÀÇÇÏ¿© Ç¥ÁØ Æ¯¼ºµéÀº º¯°æµÉ ¼ö ÀÖ´Ù. ´ÜÁö, °¡½ÃÀûÀÎ Java Beans¿ÍÀÇ Â÷À̶ó¸é, È­¸é¿¡ º¸ÁöÁö ¾ÊÀº´Ù´Â °Í »ÓÀÌ´Ù.


      3.7 ¸ÖƼ½º·¹µù


      Java Beans´Â ¸ÖƼ½º·¹µù ȯ°æ¿¡¼­ µ¿ÀÛÇϹǷΠ¼­·Î ´Ù¸¥ ½º·¹µå°¡ µ¿½Ã¿¡ À̺¥Æ®¸¦ Àü´ÞÇϰųª, ¸Þ¼ÒÆ®¸¦ È£ÃâÇϰųª, Ư¼ºÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. µû¶ó¼­, Java Beans°¡ ¸ÖƼ½º·¹µù ȯ°æ¿¡¼­ Àß µ¿ÀÛÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÑ´Ù.


      3.8 ±¹Á¦È­


      Java 1.1 ±Ô¾à¿¡ µû¶ó ±¹Á¦È­¸¦ À§ÇÑ API°¡ Á¸ÀçÇϸç, À̸¦ Java Beans¿¡ ±×´ë·Î Àû¿ëÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, setColor()¸¦ sColor()·Î getColor()¸¦ gColor()·Î º¯°æÇÏ¿© Java BeansÀÇ °³¹ß¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸, ÀÌ·¸°Ô Áö¿ªÈ­µÈ ÀÎÅÍÆäÀ̽º³ª ÇÔ¼ö À̸§Àº ¿ø·¡ÀÇ ÇÔ¼ö¸íÀ¸·Î º¯°æµÇ¾î È£ÃâµÇ°Ô µÈ´Ù.


      4. À©µµ¿ì ȯ°æ¿¡ °üÇÑ ¹®Á¦


      JDK 1.1¿¡´Â ƯÈ÷ AWT¿Í °ü·ÃµÈ ¿©·¯ ±â´ÉÀÌ ´ëÆø °­È­µÈ´Ù. ÀÌÁß¿¡¼­ ƯÈ÷ Java Beans¿Í °ü·ÃµÈ ºÎºÐÀÌ ¸¹ÀÌ Àֱ⠶§¹®¿¡ ÇÙ½ÉÀûÀÎ ±â¼úÀ» È®ÀÎÇØ º¸ÀÚ.


      4.1 ±ÕÀÏ µ¥ÀÌÅÍ Àü¼Û (UDT, Uniform Data Transfer) ¸ÞÄ«´ÏÁò


      °´Ã¼°£¿¡ ±¸Á¶È­µÈ µ¥ÀÌÅ͸¦ »óÈ£ Àü´ÞÇÒ ¼ö ÀÖ´Â ±âº»ÀûÀÎ ¸ÞÄ«´ÏÁòÀÌ ¹Ù¶ó UDTÀÌ´Ù. °í¼öÁØ¿¡¼­´Â UDT ¸ÞÄ«´ÏÁòÀ» ÀÌ¿ëÇÏ¿© ÀÚ¸£°í ºÙÀ̱â (Cut, Copy & Paste) ¶Ç´Â µå·¡±× ¿£ µå·Ó ±â´ÉÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. UDT ¸ÞÄ«´ÏÁòÀÇ ¸ñÀûÀº ´ÙÀ½°ú °°´Ù.


        • µ¥ÀÌÅÍ Àº´Ð, µ¥ÀÌÅÍ »óÈ£ ±³È¯¿¡ ´ëÇÑ °£´ÜÇÏ°í °³³äÀûÀÎ ÇÁ·¹ÀÓ¿öÅ© Á¦°ø.

        • ÇöÁ¸Çϰųª ¾ÕÀ¸·Î °³¹ßµÉ µ¥ÀÌÅÍ ±³È¯ ¸ðµ¨¿¡ ´ëÇÑ ÀϹÝÀûÀÎ API Á¦°ø

        • È¿°úÀûÀÎ µ¿Àû »ý¼º, µî·ÏÀÌ °¡´ÉÇϸç dzºÎÇÑ µ¥ÀÌÅÍ ÇüÀ» Áö¿ø

        • ÇÁ·Î¼¼½º °æ°è¸¦ ³Ñ¾î¼­´Â µ¥ÀÌÅÍ ±³È¯ ±â´É Áö¿ø

        • Àڹ٠ȯ°æ°ú Ç÷§Æû¿¡ Á¾¼ÓÀûÀΠȯ°æ °£ÀÇ µ¥ÀÌÅÍ ±³È¯ ±â´É Áö¿ø


      UDT ¸ÞÄ«´ÏÁòÀº ±â´ÉÀûÀÎ ¸é¿¡¼­ µ¥ÀÌÅÍ Àü¼ÛÀÌ °¡´ÉÇÑÁö¸¦ ³ªÅ¸³»´Â transferable ÀÎÅÍÆäÀ̽º¿Í µ¥ÀÌÅÍ ÇüÀ» °áÁ¤ÇÏ´Â DataFlavor Ŭ·¡½º·Î ±¸¼ºµÈ´Ù. ÇöÀç, Á¦¾ÈµÈ µ¥ÀÌÅÍÇüÀÇ ±âº»ÀûÀÎ ±¸Á¶´Â MIME ³×ÀÓ½ºÆäÀ̽º¸¦ »ç¿ëÇÑ´Ù.


      4.2 Ŭ¸³º¸µå/¼±Åà ¼­ºñ½º


      Ŭ¸®º¸µå/¼±Åà ¼­ºñ½º´Â UDT ¸ÞÄ«´ÏÁò¿¡ Æ÷ÇԵǾî ÀÖ´Â ±â´ÉÀÌ´Ù. Clipboard Ŭ·¡½º °³³äÀ» ÅëÇÏ¿© ¼Ò½º¿Í ¸ñÀûÁö °£ÀÇ µ¥ÀÌÅÍ Àü¼Û ±â´ÉÀ» Á¦°øÇÑ´Ù. ClipboardOwner ÀÎÅÍÆäÀ̽º´Â Ŭ¸³º¸µðÀÇ »óŰ¡ º¯°æµÇ´Â °æ¿ì À̸¦ ó¸®ÇÏ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù.


      4.3 µå·¡±× ¾Ø µå·Ó (Drag and Drop)


      µå·¡±× ¾Ø µå·ÓÀº UDT ¸ðµ¨¿¡¼­ Ãß»óÈ­µÈ µ¥ÀÌÅÍ »óÈ£ ±³È¯À̶ó°í ÇÒ ¼ö ÀÖ´Ù. µå·¡±× ¾Ø µå·Ó APIÀÇ ¸ñÀûÀº ´ÙÀ½°ú °°ÀÌ ¿ä¾àµÉ ¼ö ÀÖ´Ù.


      µå·¡±× ¾Ø µå·ÓÀÇ ´Ü¼øÇÑ È°¿ëÀ» À§ÇÑ API Á¦°ø

      ¸ðµç Ç÷§Æû¿¡¼­ µ¿ÀÛÇϰí ÀÌ¿Í °ü·ÃµÈ Àü ±â´ÉÀ» Á¦°øÇÏ´Â µå·¡±× ¾Ø µå·Ó Áö¿ø

      ÀÌ¿Í °ü·ÃµÈ API´Â ´ÙÀ½°ú °°´Ù.


        • DragSource: µå·¡±×°¡ ½ÃÀÛµÈ °´Ã¼ÀÇ µ¿ÀÛÀ» ĸ½¶È­ÇÑ ÀÎÅÍÆäÀ̽º

        • DragContext: µå·¡±× »óŰ¡ ĸ½¶È­µÈ Ŭ·¡½º

        • DropTarget: µå·ÓÀÌ ¹ß»ýÇÑ °´Ã¼ÀÇ µ¿ÀÛÀ» ĸ½¶È­ÇÑ ÀÎÅÍÆäÀ̽º

        • DropContext: µå·Ó »óŰ¡ ĸ½¶È­µÈ Ŭ·¡½º


      5. »óÅÂÀúÀå


      5.1 »óÅÂÀúÀåÀÇ ¸ñÀû


      »óÅÂÀúÀåÀº ÀϹÝÀûÀÎ ±â¾ïÀå¼Ò ÇÒ´ç°ú ´Þ¸® ÇöÀçÀÇ °´Ã¼ »óŸ¦ ÀúÀåÇÏ¿´´Ù°¡ ´Ù½Ã È£ÃâµÇ¾úÀ» ¶§ º¹¿øÇÏ´Â ¹æ¹ýÀ¸·Î ÁÖ±â¾ï ÀåÄ¡ »Ó¾Æ´Ï¶ó µð½ºÅ©¿Í °°Àº º¸Á¶ ±â¾ïÀåÄ¡¸¦ ÀÌ¿ëÇÏ¿© ÇöÀçÀÇ »óŸ¦ ÀúÀåÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. Java Beans´Â »óÅÂÀúÀå°ú °°ÀÌ Æø³ÐÀº ÀúÀå ¹æ½ÄÀ» Áö¿øÇÑ´Ù. Áï, ÇöÀçÀÇ µ¥ÀÌÅÍ »óŸ¦ ´Ù¸¥ ÄÄÆ÷³ÍÆ® OLE³ª OpenDoc ¹®¼­¿¡ Áý¾î³Ö´Â °ÍÀÌ´Ù. ÀÌ´Â ¸¶Ä¡, ¿öµå¿¡ Excel ¹®¼­°¡ Æ÷ÇԵǴ °Í°ú À¯»çÇÏ´Ù°í »ý°¢ÇÏ¸é µÈ´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀÌ Java Beans¿¡¼­´Â º°·Î ¾î·ÆÁö ¾ÊÀº ÀÛ¾÷ÀÌ µÉ °ÍÀÌ´Ù. ¸¸¾à Java Beans°¡ ±âº» ÀÚ¹Ù Çü½ÄÀ» µû¸¥´Ù¸é Ç÷§Æû¿¡ µ¶¸³ÀûÀ¸·Î »óÅÂÀúÀåÀÌ °¡´ÉÇÏ´Ù.


      ÇÏÁö¸¸, ¸ðµç Java Beans°¡ »óÅ ÀúÀåÀÌ ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ï´Ù. ±×·¯³ª, ÀϹÝÀûÀ¸·Î Ư¼ºÀÌ ÆíÁýµÉ ¼ö ÀÖ´Â °æ¿ì´Â º¯°æµÈ Ư¼ºÀ» ÀúÀåÇÒ ¼ö ÀÖµµ·Ï »óÅÂÀúÀå ±â´ÉÀÌ ÇÊ¿äÇÏ´Ù.


      5.2 ÇØ°á ¹æ¹ý


      »óÅ ÀúÀå¿¡ ´ëÇÑ ¸ñÀûÀº Å©°Ô µÎ°¡Áö·Î ÇöÀçÀÇ »óÅ¿¡ ´ëÇÑ ÀÏ¹Ý µ¥ÀÌÅÍ¿Í Æ¯¼º °ª¿¡ °ü·ÃµÈ Ư¼ºµ¥ÀÌŸ¸¦ ÀúÀåÇϴµ¥ ÀÖ´Ù. ÀÌ·¯ÇÑ ¼­·Î ´Ù¸¥ ¸ñÀûÀ» ¸¸Á·Çϱâ À§Çؼ­´Â Java Beans°¡ Áö¿øÇÏ´Â ÀÚµ¿È­µÈ ¼ø¼­È­ ¸ÞÄ«´ÏÁòÀ» ÀÌ¿ëÇϰųª ¿ÜºÎÈ­(externalization) ½ºÆ®¸² ¸ÞÄ«´ÏÁòÀ» Á¦°øÇØ¾ß ÇÑ´Ù. Java Beans 1.0¿¡¼­´Â ÀÚ¹Ù °´Ã¼ ¼ø¼­È­ ¸ÞÄ«´ÏÁò¿¡ ÀÇÇØ¼­ ÀÚµ¿È­µÈ ³»ºÎ »óÅ ÀúÀå ¹× º¹¿øÀÌ ÀÌ·ç¾îÁø´Ù. ¿ÜºÎÈ­ ½ºÆ®·¥ ¸ÞÄ«´ÏÁòÀº ¾ÆÁ÷ °èȹ ´Ü°è¿¡ ÀÖ´Â °ÍÀ¸·Î½á ¾ÕÀ¸·Î ÀÚ¹Ù API¿¡ Æ÷Ç﵃ °èȹÀÌ´Ù. ÀÌ·¸°Ô µÇ¸é ÀÚ¹Ù °´Ã¼°¡ »óÅ ÀúÀåÀÌ ¿Ïº®ÇÏ°Ô ÀÌ·ç¾îÁú ¼ö ÀÖÀ¸¸ç, ÀÏ¹Ý µ¥ÀÌÅÍ »Ó ¾Æ´Ï¶ó ±¸Á¶È­µÈ µ¥ÀÌÅÍÀÇ ÀúÀåµÇ °¡´ÉÇÏ´Ù.


      5.3 ÀúÀåµÇ´Â ³»¿ë


      Java Beans°¡ »óÅÂÀúÀåÀ» ¼±ÅÃÇÏ¿´´Ù¸é, ³ªÁß¿¡ ´Ù½Ã È£ÃâµÇ¾úÀ» ¶§ ±× »óÅÂ¿Í °¡Àå À¯»çÇÏ°Ô º¹¿øµÇ¾î¾ß ÇÑ´Ù. ±âº»ÀûÀ¸·Î ¿ÜºÎ·Î ³ëÃâµÇ¾î Àִ Ư¼ºµéÀÌ ¸ðµÎ ÀúÀåµÈ´Ù. ¶ÇÇÑ, ³»ºÎÀûÀ¸·Î ¿µÇâÀ» ¹ÞÀº Ư¼ºµµ ÀúÀåµÈ´Ù. ÀÌ·¯ÇÑ ÀúÀå ±â´ÉÀº Ä¿½ºÅ͸¶ÀÌ¡À̳ª °³¹ß ½Ã¿¡µµ Á¦°øµÇ¾î¾ß ÇÑ´Ù. ÇÏÁö¸¸, Java Beans°¡ ¿ÜºÎ Java Beans¸¦ Áö½ÃÇÏ´Â Æ÷ÀÎÅÍ´Â ÀúÀåÇÏÁö ¾Ê´Â´Ù. ÀÌ´Â ´õ ³ôÀº ¼öÁØ¿¡¼­ ÇöÀç Java BeansÀÇ °ü°è°¡ À¯ÁöµÇ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ¾Ï½ÃÇÑ´Ù. ÀÌ·¯ÇÑ ÀúÀå ¹æ¹ýÀº "transient" Ű¿öµå¸¦ ÀÌ¿ëÇϸé ÄÁÅ×À̳ʴ ÇÚÀçÀÇ Java Beans °ü°èÀÇ »óŸ¦ À¯ÁöÇÒ Ã¥ÀÓÀ» °®°Ô µÈ´Ù. °°Àº ÀÌÀ¯·Î Á¤»óÀûÀÎ À̺¥Æ® ¾Æ´äÅÍ´Â ³»ºÎ Çʵ带 transient·Î ÇØ¾ßÇÑ´Ù. ¸ðµç ¾ÖÇø®ÄÉÀÌ¼Ç ºô´õ°¡ ³»ºÎ»óÅ ÀúÀåÀ» À§ÇÑ ¼ø¼­È­ ¸ÞÄ«´ÏÁòÀ» °®°í ÀÖ¾î¾ß Çϴµ¥, ÀÚ¹Ù°¡ Áö¿øÇÏ´Â ¼ø¼­È­ ¸ÞÄ«´ÏÁò À̿ܿ¡ ¾ÖÇø®ÄÉÀÌ¼Ç ºô´õ°¡ µ¶¸³ÀûÀ¸·Î ÀÌ·¯ÇÑ »óÅÂÀúÀå ¸ÞÄ«´ÏÁòÀ» Áö¿øÇÒ ¼öµµ ÀÖ´Ù.


      5.4 ºñ¼ø¼­È­


      ¼ø¼­È­ µÇ¾î ÀÖ´Â ¿ÀºêÁ§Æ®´Â ".ser"ÆÄÀϷκÎÅÍ ´Ù½Ã ºñ¼ø¼­È­½Ãų ¼ö ÀÖ´Ù. ".ser" ÆÄÀÏÀ» »ç¿ëÇÑ Å¬·¡½º ·Î´õ´Â ±âº» Ŭ·¡½º ·Î´õ¸¦ À§ÇÑ ".class" °³°³¸¦ ´Ù½Å ·ÎµùÇÒ ¼ö ÀÖ´Ù. Áï, ´ÜµÏÀ¸·Î .class ÆÄÀϸ¸À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.






      6. À̺¥Æ®


      À̺¥Æ®´Â Java BeansÀÇ ÇÙ½ÉÀûÀÎ ±¸Á¶ÀÌ´Ù. À̺¥Æ®´Â ¾ÖÇø®ÄÉÀÌ¼Ç ºô´õ¸¦ ÀÌ¿ëÇÏ¿© ¼­·Î ¿¬°á ½ÃÄÑÁÖ°Ô µÈ´Ù. Áï, ¼Ò½º°¡ µÇ´Â Java Beans¿Í À̺¥Æ®¸¦ Àü´Þ ¹Þ´Â listener¿¡ ÇØ´çÇÏ´Â Java Beans·Î À̺¥Æ®°¡ 󸮵ȴÙ.


      6.1 ¸ñÀû


      °³³äÀûÀ¸·Î À̺¥Æ®´Â ¼Ò½º °´Ã¼¿Í ¸ñÀûÁö listener °´Ã¼ »çÀÌ¿¡ »óÅ º¯È­¸¦ ¾Ë·ÁÁÖ´Â ¸ÞÄ«´ÏÁòÀÌ´Ù. À̺¥Æ®´Â ¸Å¿ì ´Ù¾çÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖÀ¸¸ç ÀϹÝÀûÀ¸·Î À©µµ¿ì ½Ã½ºÅÛ ÅøÅ¶¿¡¼­ ¸¶¿ì½º ¾×¼Ç, À§굘 ¾÷µ¥ÀÌÆ®, Űº¸µå »óÅ º¯°æ¿¡ ´ëÇÑ ¾Ë¸² ±â´ÉÀ» ¼öÇàÇÑ´Ù. Java BeansÀÇ À̺¥Æ® ¸ÞÄ«´ÏÁòÀº ´ÙÀ½°ú °°´Ù.


        1. È®Àå°¡´ÉÇÑ À̺¥Æ® Çü°ú À¯¿¬ÇÑ Àü´Þ ¸ðµ¨, Æø³ÐÀº ÀÀ¿ëÀÌ °¡´ÉÇϵµ·Ï À̺¥Æ® ¸ÞÄ«´ÏÁò Áö¿ø

        2. Àڹ٠ȯ°æ¿¡ Àß ¾î¿ï¸®´Â À̺¥Æ® ¸ÞÄ«´ÏÁò Áö¿ø

        3. ½ºÅ©¸³Æ® ȯ°æ¿¡¼­µµ ¸ðµç À̺¥Æ® ó¸® °¡´É

        4. À̺¥Æ® ¼Ò½º¿Í À̺¥Æ® listener°¡ µðÀÚÀÎ ½Ã°£¿¡µµ Á÷Á¢ Á¶ÀÛÀÌ °¡´É

        5. º¹ÀâÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß Åø¿¡¼­ »ç¿ëÀº ±ÇÀåÇÏÁö ¾ÊÀ½


          ¶ÇÇÑ, Ưº°È÷ À̺¥Æ® ¼³°è´Â ´ÙÀ½°ú °°ÀÌ µÇ¾î ÇÑ´Ù.


            1. ƯÁ¤ÇÑ °´Ã¼ Ŭ·¡½º°¡ »ý¼ºµÇ¾ú´Ù´Â À̺¥Æ®¸¦ ¾òÀ» ¼ö ÀÖ¾î¾ß ÇÑ´Ù.

            2. ƯÁ¤ÇÑ °´Ã¼ Ŭ·¡½º°¡ °üÂûÇÏ¿´´Ù´Â À̺¥Æ®¸¦ ¾òÀ» ¼ö ÀÖ¾î¾ß ÇÑ´Ù.

            3. À̺¥Æ® ¼Ò½º¿Í À̺¥Æ® listener °£ÀÇ °ü°è¸¦ µ¿ÀûÀ¸·Î Á¶ÀÛÇÒ ¼ö ÀÖ´Â °øÅëÀÇ À̺¥Æ® µî·Ï ¸ÞÄ«´ÏÁò Áö¿ø

            4. °¡»ó ¸Ó½ÅÀ̳ª ¾ð¾î¸¦ º¯°æÇÏÁö ¾Ê°í ±¸ÇöÀÌ °¡´ÉÇØ¾ß ÇÔ

            5. ¼Ò½º¿Í listener °£ÀÇ À̺¥Æ® Àü´Þ ¼Óµµ Çâ»ó

            6. Java Beans À̺¥Æ®¿Í ´Ù¸¥ ÀϹÝÀûÀÎ ÄÄÆ÷³ÍÆ® ±¸Á¶¿ÍÀÇ ÀÚ¿¬½º·± À̺¥Æ® ¸ÅÇÎ ±â´É Áö¿ø


              6.2 À̺¥Æ® ¸ÞÄ«´ÏÁòÀÇ °³°ý


              Java Beans¿¡¼­ ÀÌ¿ëÇÏ´Â ±âº»ÀûÀÎ À̺¥Æ® ¸ÞÄ«´ÏÁòÀº ´ÙÀ½°ú °°´Ù.


              ±âº»ÀûÀ¸·Î À̺¥Æ® ¾Ë¸²Àº ¸ñÀûÇÏ´Â listener °´Ã¼ÀÇ ÀÚ¹Ù ¸Þ¼Òµå È£Ãâ ±â´É¿¡ ÀÇÇØ¼­ Àü´ÞµÈ´Ù.

              ¼­·Î ´Ù¸¥ À̺¥Æ® ¾Ë¸²ÀÇ °æ¿ì¿¡´Â °¢°¢ ¼­·Î ´Ù¸¥ ÀÚ¹Ù ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î ÇÑ´Ù. ¸¸¾à °°Àº À̺¥Æ®¸¦ ¹Þ´Â listenerÀÇ °æ¿ì¿¡´Â java.util.EventListener·ÎºÎÅÍ EventListener ÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó ¹Þ¾Æ ¹­¾î¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

              À̺¥Æ® listener Ŭ·¡½º´Â EventListener ÀÎÅÍÆäÀ̽ºÀÇ ÁýÇÕÀ» ±¸ÇöÇÔÀ¸·Î½á ƯÁ¤ÇÑ À̺¥Æ® ÁýÇÕ¿¡ ´ëÇÏ¿© ¹­¾î¼­ ó¸®ÇÒ ¼ö ÀÖ´Ù.

              À̺¥Æ® ¾Ë¸²°ú ¿¬°üµÈ »óÅ´ Á¤»óÀûÀ¸·Î java.util.EventObject·ÎºÎÅÍ »ó¼Ó¹ÞÀº À̺¥Æ® »óÅ °´Ã¼¿¡ ÀÇÇØ¼­ ĸ½¶È­µÇ¾î ÀÖ´Ù. À̺¥Æ® »óÅ °´Ã¼´Â À̺¥Æ® ¸Þ¼Òµå¿¡°Ô ´ÜÀÏ ÀÎÀÚ¸¦ ³Ñ°ÜÁÖ°Ô µÈ´Ù.

              À̺¥Æ® ¼Ò½º´Â ƯÁ¤ÇÑ µðÀÚÀÎ ÆÐÅÏ¿¡ ´ëÇÏ¿© È®ÀÎÇÏ´Â µî·Ï ¸Þ¼Òµå¸¦ Á¤ÀÇÇÔÀ¸·Î½á ƯÁ¤ÇÑ À̺¥Æ®¿¡ ´ëÇÑ °°Àº ¼Ò½º·Î Ãë±ÞµÉ ¼ö ÀÖ´Ù. ¶ÇÇÑ, ƯÁ¤ÇÑ EventListener ÀÎÅÍÆäÀ̽º¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.

              ƯÁ¤ÇÑ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÒ ¼ö 랴´Â listenerÀÇ °æ¿ì³ª ¸î¸î Ãß°¡ÀûÀÎ µ¿ÀÛÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡´Â Ä¿½ºÅÒÈ­µÈ ¾Æ´äÅÍ Å¬·¡½ºÀÇ ÀνºÅº½º°¡ Çϳª ÀÌ»óÀÇ listener¿Í ¼Ò½º °£ÀÇ °ü°è¸¦ ¼³Á¤ÇÏ´Â »çÀÌ¿¡¼­ µ¿ÀÛÇÒ ¼ö ÀÖ´Ù.


              6.3 À̺¥Æ® »óÅ °´Ã¼


              ƯÁ¤ÇÑ À̺¥Æ® ¾Ë¸²°ü °ü°èµÈ Á¤º¸´Â java.util.EventObject¿¡¼­ ÆÄ»ýµÈ À̺¥Æ® »óÅ Ŭ·¡½º¿¡ ĸ½¶È­µÇ¾î ÀÖ´Ù. ÀϹÝÀûÀ¸·Î À̺¥Æ® »óÅ Ŭ·¡½º´Â Event¶ó´Â À̸§À¸·Î ÁÖ¾îÁø´Ù. À̺¥Æ® »óÅ °´Ã¼´Â º¯ÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­, Á÷Á¢ public ¸Þ¼Òµå¸¦ ÅëÇÑ Á¦¾î´Â ºÒ°¡´ÉÇϸç Á¦¾îÀÚ ¸Þ¼Òµå¸¦ ÅëÇÏ¿© À̺¥Æ® »óÅ °´Ã¼ÀÇ ³»¿ëÀ» ¾ò´Âµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ±×·¯³ª, À̺¥Æ® »óÅ °´Ã¼°¡ ¼öÁ¤À» ¿ä±¸ÇÒ °æ¿ì¿¡´Â ÀÌ·¯ÇÑ ¼öÁ¤ÀÌ ¿ä±¸µÇ´Â ¼öÁ¤¿¡ ¿µÇâÀ» ÁÖ´Â ÀûÀýÇÑ ¸Þ¼Òµå¿¡ ÀÇÇØ¼­ ĸ½¶È­µÇ°Å³ª »õ·Î¿î À̺¥Æ® »óÅ °´Ã¼°¡ ÀûÀýÇÑ ¼öÁ¤À» ¹Ý¿µÇÏ¿© ¹ß»ýÇÏ°Ô µÈ´Ù.


              ÀÌ·¯ÇÑ Á¦¾îÀÚ ¸Þ¼Òµå´Â ¹Ýµå½Ã Àбâ Àü¿ë, Àбâ-¾²±â, ¾²±â Àü¿ë µîÀ¸·Î ÀûÀýÇÑ µðÀÚÀÎ ÆÐÅÏÀ» µû¶ó¾ß ÇÑ´Ù. À̴ Ưº°È÷ ÀÚ¹Ù¿Í ´Ù¸¥ ÄÄÆ÷³ÍÆ® ±¸Á¶ »çÀÌÀÇ À̺¥Æ®¸¦ ¼­·Î Àü´ÞÇÒ ¶§ ±¸º°µÇ´Â ÇÁ·¡ÀÓ¿öÅ©ÀÇ ±âº»À» ÀÌ·ç±â ¶§¹®¿¡ ¸Å¿ì Áß¿äÇÏ´Ù.


              6.4 EventListener ÀÎÅÍÆäÀ̽º



              »õ·Î¿î ÀÚ¹Ù À̺¥Æ® ¸ðµ¨Àº À̺¥Æ® Çڵ鸵 ¸Þ¼Òµå¸¦ Á¤ÀÇÇÏ°í ±×·ìÈ­Çϴµ¥ µû¸£´Â ¸Þ¼Òµå È£Ãâ¿¡ ±Ù°£Çϰí ÀÖ´Ù. À̺¥Æ® Çîµé¸µ ¸Þ¼Òµå´Â EventListener ÀÎÅÍÆäÀ̽º·Î Á¤ÀǵǸç À̰ÍÀº java.util.EventListener·ÎºÎÅÍ »ó¼ÓµÈ °ÍÀÌ´Ù. ±×³É °£´ÜÈ÷ EventLister ÀÎÅÍÆäÀ̽º´Â "Listener"·Î Ç¥±âÇÑ´Ù.


              À̺¥Æ® ÁýÇÕÀ» ÇÚµéÇϱâÀ§ÇÑ Å¬·¡½º´Â EventListener ÀÎÅÍÆäÀ̽º°¡ ±¸ÇöµÇ°í Á¤ÀǵǾî ÀÖ¾î¾ß °¡´ÉÇÏ´Ù. À̺¥Æ® Çڵ鸵 ¸Þ¼Òµå´Â EventListener ÀÎÅÍÆäÀ̽º¿¡ ÀÇÇØ¼­ Á¤Àǵǰí Ç¥ÁØ µðÀÚÀÎ ÆÐÅÏ¿¡ Á¤»óÀûÀ¸·Î È®ÀεǾî¾ß ÇÑ´Ù. È®ÀÎ ÀÛ¾÷ÀÌ ÇÊ¿äÇÑ ÀÌÀ¯´Â ÀÎÅÍÆäÀ̽º°¡ Á¦ 3ÀÇ ÇÁ·Î±×·¥¿¡ ÀÇÇØ¼­ µ¿ÀÛµÉ ¼ö ÀÖµµ·Ï Çϱâ À§ÇÑ °ÍÀÌ´Ù.


              Ưº°È÷, °ü·ÃÀÖ´Â À̺¥Æ® Çڵ鸵 ¸Þ¼Òµå´Â °°Àº EventListener ÀÎÅÍÆäÀ̽º·Î ±×·ìÈ­µÈ´Ù. ¿¹¸¦ µé¾î, mouseEntered, mouseMoved, mouseExited µîÀº °°Àº EventListener ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÑ´Ù. ¿©±â¼­, È®½ÇÈ÷ ¾Ë¾ÆµÎ¾î¾ß ÇÒ °ÍÀº ±×·¸´Ù°í °¢ À̺¥Æ®¸¶´Ù ó¸®ÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º°¡ µû·Î Á¤ÇØÁ® ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó´Â Á¡ÀÌ´Ù. ¶ÇÇÑ, °ü·ÃÀÖ´Â À̺¥Æ®°¡ ¸Å¿ì ¸¹À» °æ¿ì¿¡´Â °èÃþÀûÀÎ ºÐ·ù ¹æ¹ýÀ¸·Î À̸¦ ºÐ·ùÇØ ³¾ ¼ö ÀÖ´Ù. EventListenerÀÇ °èÃþ±¸Á¶´Â ½ÇÁ¦ À̺¥Æ®¸¦ ó¸®ÇÏ´Â ¿ªÇÒÀ» ÇÏ´Â Listener µéÀ» ÀÚ½ÅÀÇ EventListener ÀÎÅÍÆäÀ̽º¿¡ ³ëÃâ½Ã۰í, »ó¼Ó °ü°è¸¦ ÀÌ¿ëÇÏ¿© °èÃþÈ­½ÃŰ°Ô µÈ´Ù.


              Àμö ¸®½ºÆ®¸¦ ÀÌ¿ëÇÑ À̺¥Æ® ¸Þ¼Òµå


              ÀϹÝÀûÀ¸·Î À̺¥Æ® Çڵ鸵 ¸Þ¼Òµå´Â java.util.EventObjectÀÇ ¼­ºê ŸÀÔÀ¸·Î ÇϳªÀÇ Àμö¸¸À» °¡Áú ¼ö ÀÖ´Ù. ±×·¯³ª, ƯÁ¤ÇÑ È¯°æ¿¡¼­´Â Çϳª ÀÌ»óÀÇ Àμö°¡ ÇÊ¿äÇÏ°Ô µÇ´Âµ¥ ÀÌ·± °æ¿ì¿¡´Â À̺¥Æ®¸¦ ´Ù¸¥ ÂÊÀ¸·Î Æ÷¿öµùÇÏ¿© ¿ÜºÎ¿¡¼­ Àμö¸¦ ó¸®ÇϰԲû ÇÏ´Â ¸ÞÄ«´ÏÁòÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ÀϹÝÀûÀΠȯ°æÀÌ ¾Æ´Ï±â ¶§¹®¿¡ Ư¼öÇÑ °æ¿ì ÇÑÇÏ¿© »ç¿ëµÈ´Ù.


              6.5 À̺¥Æ® Listener µî·Ï


              ÀáÀçÀûÀÎ EventListener¸¦ µî·ÏÇϱâ À§Çؼ­´Â ÀûÀýÇÑ À̺¥Æ® ¼Ò½º°¡ Á¸ÀçÇØ¾ßÇÏ¸ç ¼Ò½º¿¡¼­ listener±îÁö À̺¥Æ® È帧ÀÌ ¿Ï¼ºµÇ°Ô µÈ´Ù¸é ¹Ýµå½Ã À̺¥Æ® ¼Ò½º Ŭ·¡½º´Â À̺¥Æ® listenerÀÇ µî·Ï°ú µî·ÏÃë¼Ò ¸Þ¼Òµå°¡ Á¦°øµÇ¾î¾ß ÇÑ´Ù. µî·Ï ¸Þ¼Òµå´Â Java BeansÀÇ ÀÚ±âÈ®ÀÎ API¿Í ¾ÖÇø®ÄÉÀÌ¼Ç ºô´õ µµ±¸¸¦ ÀÌ¿ëÇÏ¿© È®ÀÎÇÒ ¼ö ÀÖ´Ù.


              µî·Ï ¼ø¼­¿Í À̺¥Æ® Àü´Þ ¼ø¼­ÀÇ °ü°è´Â Á¤Àǵȵ¥·Î ¼öÇàµÈ´Ù. Ãß°¡ÀûÀ¸·Î °°Àº À̺¥Æ® listener °´Ã¼´Â Çϳª ÀÌ»óÀÇ °°Àº À̺¥Æ® ¼Ò½º¿¡ ÀÇÇØ¼­ ¼öÇàµÇ°Å³ª Á¦°ÅµÇ´Â °Íµé ¸ðµÎµµ Á¤ÀÇµÈ ´ë·Î ¼öÇàµÈ´Ù.


              ´ÜÀÏ À̺¥Æ® listener µî·Ï


              À̺¥Æ® ¼Ò½º°¡ ´ÙÁß À̺¥Æ® ¾Ë¸²À» Áö¿øÇϴµ¥ ¾î¶² °æ¿ì¿¡´Â ´ÜÀÏ À̺¥Æ® ¾Ë¸²¸¸ °¡´ÉÇØ¾ß ÇÏ´Â °æ¿ì°¡ Á¸ÀçÇÑ´Ù. ÀÌ·±°æ¿ì¿¡´Â java.util.TooManyListenersExceptionÀ» ÀÌ¿ëÇÏ¿© ´ÜÀÏ À̺¥Æ®¸¸ÀÌ Ã³¸®µÇµµ·Ï Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ¸¸¾à null°ªÀÌ Àμö·Î ÆÐ½ÌµÉ °æ¿ì¿¡´Â NullPoinerExceptionÀÌ ¼öÇàµÈ´Ù.








              À̺¥Æ® Àü´Þ ¹æ¹ý


              ´ÜÀÏ À̺¥Æ® Àü´Þ (unicast) °ú ´ÙÁß À̺¥Æ® Àü´Þ (multicast)


              º¸Åë À̺¥Æ®´Â ´ÙÁß À̺¥Æ® Àü´Þ (multicast)ÀÌ´Ù. °¢ À̺¥Æ® ¼Ò½º´Â À̺¥Æ® listener¸¦ Â÷·Ê´ë·Î È£ÃâÇÏ°Ô µÈ´Ù. ÇÏÁö¸¸, À̺¥Æ® listener°¡ ¿¹¿Ü »óȲÀ» ¹ß»ý½ÃÄ×À» ¶§¿¡´Â ³ª¸ÓÁö listener¸¦ °è¼Ó È£ÃâÇÒ °ÍÀÎÁö ¾Æ´Ï¸é Áß´ÜÇÒ °ÍÀÎÁö¸¦ ÆÇ´ÜÇØ¾ß ÇÑ´Ù. Ưº°È÷, ¸î °³ÀÇ À̺¥Æ® ¼Ò½º´Â ´ÜÁö Çѹø¸¸ À̺¥Æ®¸¦ Àü´ÞÇÏ°Ô µÈ´Ù.


              6.6 À̺¥Æ® ¾Æ´äÅÍ


              À̺¥Æ® ¾Æ´äÅÍ´Â ÀÚ¹Ù À̺¥Æ® ¸ðµ¨¿¡¼­ ¸Å¿ì Áß¿äÇÑ ¿ªÇÒÀ» ÇÑ´Ù.


              Ưº°È÷ ¾ÖÇø®ÄÉÀÌ¼Ç ¶Ç´Â ¾ÖÇø®ÄÉÀÌ¼Ç ºô´õ µµ±¸´Â Ç¥ÁØ À̺¥Æ® ¾Æ´äŸ ÁýÇÕÀ» »ç¿ëÇϰԵǸç, ÀÌ´Â À̺¥Æ® ¼Ò½º¿Í À̺¥Æ® listener »çÀÌ¿¡¼­ ¿Ã¹Ù·Î À̺¥Æ®°¡ Àü´ÞµÇµµ·Ï µµ¿ÍÁÖ°Ô µÈ´Ù.


              À̺¥Æ® Àü´Þ°úÁ¤¿¡¼­ Ãß°¡ÀûÀÎ µ¿ÀÛÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡´Â À̺¥Æ® ¾Æ´äÅ͸¦ Á¤ÀÇÇϰí À̸¦ À̺¥Æ® ¼Ò½º¿Í À̺¥Æ® listener »çÀÌ¿¡ ³¢¾î³ÖÀ¸¸é µÈ´Ù. À̺¥Æ® ¾Æ´äÅÍÀÇ ÁÖ¿ä ÀÓ¹«´Â Ưº°ÇÑ EventListener ÀÎÅÍÆäÀ̽º¸¦ À̺¥Æ® ¼Ò½º¿Í ½ÇÁúÀûÀÎ listener »çÀÌ¿¡ Àß ¿¬°á½ÃÄÑÁÖ´Â °ÍÀÌ´Ù.


              À̺¥Æ® ¾Æ´äÅÍÀÇ ¸î°¡Áö ¿¹´Â ´ÙÀ½°ú °°´Ù.


                • ¼Ò½º¿Í listener »çÀÌÀÇ À̺¥Æ® Å¥À× ¸ÞÄ«´ÏÁò Á¦°ø

                • ÇÊÅÍ ¿ªÇÒ

                • ´ÙÁß À̺¥Æ® ¼Ò½º¿¡¼­ ¹ß»ýÇÏ´Â À̺¥Æ®¸¦ ÇϳªÀÇ À̺¥Æ® listener·Î ¸ÅÇÎ

                • ¼Ò½º¿Í listener »çÀÌÀÇ ÀϹÝÀûÀÎ ¿¬°á ¸Å´ÏÀú ¿ªÇÒ


              7. °á·Ð


              Áö±Ý±îÁö Java BeansÀÇ ¸ñÀû°ú ¿ªÇÒ, ±×¸®°í Áß¿äÇÑ »çÇ׿¡ ´ëÇÏ¿© »ìÆìº¸¾Ò´Ù. Java Beans´Â ÀÚ¹Ù Ç÷§ÆûÀÌ °¡Áö°í ÀÖ´Â ÀåÁ¡°ú ÄÄÆ÷³ÍÆ® ±¸Á¶ÀÇ ÀåÁ¡À» È¥ÇÕÇÏ¿© Àڹ٠ȯ°æÀÌ ½ÇÁúÀûÀ¸·Î È®ÀåµÉ ¼ö ÀÖ´Â ¹æ¾ÈÀ» Á¦½ÃÇÑ ÇϳªÀÇ Àü·«À̶ó°í ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ÄÄÆ÷³ÍÆ® ¸ÞÄ«´ÏÁòÀÌ Àڹ٠ȯ°æÀÇ ¸Å¿ì Áß¿äÇÑ ¿ªÇÒÀÌ µÉ °ÍÀ¸·Î ÆÇ´ÜµÇ¸ç ½ÇÁ¦ ¸¹Àº ±âÁ¸ÀÇ ÄÄÆ÷³ÍÆ®±îÁöµµ Èí¼öÇÏ¿© ÅëÇÕÇÒ ¼ö ÀÖ´Â ¸ÞÄ«´ÏÁòÀ¸·Î »ç¿ëµÉ °ÍÀÌ´Ù. ±×·¯³ª, Java BeansÀÇ ¸ñÀûÀÌ ½ÇÁ¦·Î ÀÌ·ç¾îÁö±â À§Çؼ­´Â ´Ù¾çÇÑ Java Beans °³¹ßÀÚµéÀÌ »ý°Ü³ª¾ß ÇÒ °ÍÀ¸·Î º»´Ù.