Java ±â¼ú ¹× ½ÃÀå µ¿Çâ
Trends of Java Technology and Market
±èű٠(Tae-Geun Kim) ºÐ»êÄÄÇ»ÆÃ¿¬±¸½Ç ½ÇÀå
¿ä ¾à

ÀÎÅͳÝÀÇ º¸±Þ°ú ´õºÒ¾î Â÷¼¼´ë ÀÎÅÍ³Ý ±â¼úÀÇ ÇÙ½ÉÀ¸·Î µîÀåÇϰí ÀÖ´Â Java ±â¼úÀÇ µîÀå ¹è°æ°ú ¿ª»ç ¹× Java ±â¼úÀÌ ¼º°øÇÒ ¼ö ÀÖ´Â ±â¼úÀû Ư¼ºÀ» »ìÆìº»´Ù. ÇÙ½ÉÀûÀÎ Java ±â¼ú·Î¼­ Java ¿î¿µÃ¼Á¦, Java °¡»ó¸Ó½Å, Java ±â¹Ý API µîÀ» ¼­¼úÇÏ°í ¶ÇÇÑ ³×Æ®¿öÅ© ÄÄÇ»ÆÃ°ú °ü·ÃµÈ Java ±â¼úÀÇ ½ÃÀå µ¿Çâ, °¢ ºÐ¾ß¿¡¼­ Ȱ¿ëµÇ´Â Java ±â¼úÀÇ »ç·Ê¸¦ »ìÆìº»´Ù.

I. ¼­·Ð

½ã ¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî(ÀÌÇÏ ½ã)»ç°¡ 1995³â 5¿ù¿¡ Java¿Í HotJava¸¦ ¼±º¸ÀÎ ÀÌ·¡ 2³âÀÌ Á¶±Ý °æ°úÇÑ Áö±Ý ¿Â ¼¼»óÀÌ Java ¿­Ç³À¸·Î ÈÛ½ÎÀ̰í ÀÖÀ¸¸ç ±× ¿­±â´Â Á¶±Ýµµ ½ÄÁö ¾Ê°í ´õ¿í ¶ß°Å¿öÁö°í ÀÖ´Ù. Java´Â ÀÎÅÍ³Ý Ç¥ÁØ ±¹Á¦¾ð¾îÀÌÀÚ ÀÏÁ¾ÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÌ´Ù. °« ž Java°¡ ±âÁ¸ÀÇ °­·ÂÇÑ ¾ð¾îµéÀ» Á¦Ä¡°í ÀÌ·¸°Ô °¢±¤À» ¹Þ°íÀÖ´Â ÀÌÀ¯´Â ¾îµð¿¡ ÀÖ´Â °ÍÀϱî? Áö±Ý±îÁö Ȱ¿ëµÇ¾î ¿Â ¸¹Àº ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀº °øÇ¥µÇ°í ³ª¼­ ±× ¾ð¾îÀÇ È¿¿ë¼º, Ư¼º, Àû¿ë¼º, ¼º´É µî¿¡ ´ëÇØ ¸¹Àº »ç¶÷µéÀÇ ÃæºÐÇÑ °ËÁõ ÈÄ¿¡¾ß ºñ·Î¼Ò Ȱ¿ëµµ°¡ Á¡Â÷·Î Áõ°¡ÇÏ¿´´Ù. ±×·¯³ª ½ãÀº Java¸¦ ¹ßÇ¥ÇÔ°ú µ¿½Ã¿¡ Java¾ð¾î·Î ÀÛ¼ºµÈ HotJava¸¦ ¹ßÇ¥ÇÔÀ¸·Î½á ÇÑ ¼ø°£¿¡ JavaÀÇ À¯¿ë¼ºÀ» Àü¼¼°è¿¡ ¾Ë¸®´Âµ¥ ¼º°øÇÏ¿´´Ù. HotJava´Â À¥ ºê¶ó¿ìÀú·Î¼­ ¾Ö´Ï¸ÞÀ̼Ç, ÀζóÀÎ »ç¿îµå, »óÈ£µ¿ÀÛ(Interactive) µîÀÇ µ¿ÀûÀÎ ºê¶ó¿ì¡ ±â´ÉÀ» Á¦°øÇÔÀ¸·Î¼­ Àü ¼¼°è ÀÎÅÍ³Ý »ç¿ëÀÚ¿¡°Ô Ä¿´Ù¶õ Ãæ°ÝÀ» ¾È°ÜÁÖ¾ú´Ù. ÀÌÀü±îÁöÀÇ ÀÎÅÍ³Ý À¥ ºê¶ó¿ìÀúÀÎ ³Ý½ºÄÉÀÌÇÁ»çÀÇ Communicator¿Í ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»çÀÇ Internet Explorer´Â HTML(HyperText Markup Language) ¹®¼­±â¹Ý Áß½ÉÀÇ À¥ ºê¶ó¿ìÀú·Î¼­ ÇÑ ±ÇÀÇ ±×¸²Ã¥À» Àд °Í°°ÀÌ À̹ÌÁö¿Í ÅØ½ºÆ® À§ÁÖÀÇ Á¤ÀûÀÎ ºê¶ó¿ì¡ ±â´ÉÀ» Á¦°øÇØ ¿Ô±â ¶§¹®¿¡ µ¿Àû ºê¶ó¿ì¡ ±â´ÉÀ» Á¦°øÇÏ´Â HotJava´Â À¥ ºê¶ó¿ìÀúÀÇ »õ·Î¿î ÁöÆòÀ» ¿­ °ÍÀ̶ó´Â ±â´ë°¨¿¡¼­ ¸¹Àº »ç¶÷ÀÇ °ü½ÉÀ» ºÒ·¯ ÀÏÀ¸Å°±â¿¡ ÃæºÐÇÏ¿´´Ù.

ź»ýÇÏÀÚ¸¶ÀÚ ÀÎÅÍ³Ý ¾ð¾î·Î¼­ÀÇ ±× À¯¿ë¼ºÀÌ ÀÔÁõµÈ Java´Â ÀÎÅͳÝÀ» ÅëÇÏ¿© Àü ¼¼°è¿¡ ³Î¸® Ȱ¿ëÀÌ È®»êµÇ°í ÀÖÀ¸¸ç ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼­ÀÇ À§Ä¡µµ Á¡Á¡ È®°íÇØÁö°í ÀÖ´Ù. ±×¸² 1¿¡¼­ º¸´Â¹Ù¿Í °°ÀÌ Java±â¼úÀº ÀÌÁ¦ PDA(Personal Digital Assistant), HPC(Handheld Personal Computer), Screen Phone µîÀÇ Á¤º¸ Åë½Å ´Ü¸»±â¿¡¼­ ÀÎÅÍ³Ý Á¤º¸ ¼­ºñ½º¸¦ °¡´ÉÇÏ°Ô ÇÒ»Ó¸¸ ¾Æ´Ï¶ó ³×Æ®¿öÅ© ½ºÀ§Ä¡, ¶ó¿ìÅÍ µîÀÇ Åë½Å±â±â¿Í µðÁöÅÐ Ä«¸Þ¶ó, TV, VCR µîÀÇ °¡Àü Á¦Ç° µîÀÇ ³»ÀåÇü(Embedded) ¼ÒÇÁÆ®¿þ¾î·Î Ȱ¿ëµÉ ¼ö ÀÖÀ¸¸ç ¶ÇÇÑ ÀÎÅͳÝÀ» ÀÌ¿ëÇÑ ´ÙÀÚ°£ °ÔÀÓ ¼ÒÇÁÆ®¿þ¾î¿¡µµ JavaÀÇ È°¿ëÀÌ ±â´ëµÇ´Â µî ¼ÒÇÁÆ®¿þ¾î »ê¾÷ Àü¹Ý¿¡ °ÉÃÄ Ä¿´Ù¶õ Çõ¸íÀ» °¡Á®¿Ã °ÍÀ¸·Î º¸ÀδÙ[5][14].

±×¸² 1 .Java ±â¼úÀÇ È°¿ë ºÐ¾ß
 

µû¶ó¼­ Java´Â ¹«¾ùÀÌ¸ç ¾î¶»°Ô ź»ýµv´Â°¡? Áö±Ý ¾î¶»°Ô »ç¿ëµÇ°í ÀÖ°í ÇâÈÄ¿¡´Â ¾î¶»°Ô »ç¿ëµÇ°í ¹ßÀüÇÒ °ÍÀΰ¡? µî¿¡ ´ëÇØ ³íÀÇÇØ º¸´Â °ÍÀº ¸Å¿ì ÀÇ¹Ì ÀÖ´Â ÀÏÀ̶ó »ý°¢µÈ´Ù. º» °íÀÇ IIÀå¿¡¼­ JavaÀÇ ¿ª»çÀû ¹è°æ, ÇÁ·Î±×·¡¹Ö ȯ°æ ¹× Ư¼ºÀ» »ìÆìº¸¸ç, IIIÀå¿¡¼­ Java±â¼úÀÇ ±¸¼º¿ä¼Ò¸¦ ³íÀÇÇÑ ÈÄ¿¡ IVÀå¿¡¼­ Java±â¼úÀÇ ½ÃÀå µ¿ÇâÀ» »ìÆìº¸°í, V Àå¿¡¼­ Java±â¼úÀÇ ÇâÈÄ ¹ßÀü¹æÇâ°ú ¾Æ¿ï·¯ °á·ÐÀ» ¸Î´Â´Ù.

II. JavaÀÇ ¿ª»çÀû ¹è°æ ¹× Ư¼º

1. JavaÀÇ µîÀå¹è°æ

1995³â 'SunWorld95'¿¡¼­ Java°¡ ž±â±îÁö Java´Â 5³â°£ÀÇ Àç¹Ì³­ ¿ª»ç¸¦ °¡Áö°í ÀÖ´Ù. JavaÀÇ Åµ¿ °úÁ¤À» »ìÆìº½À¸·Î¼­ JavaÀÇ °³¹ß ¸ñÀû, JavaÀÇ °³·«ÀûÀΠƯ¡ µî Java¿¡ °üÇÑ À¯ÀÍÇÑ »çÇ×µéÀ» ¾Ë ¼ö ÀÖ´Ù.

JavaÀÇ ±â¿øÀº 1990³â¿¡ ½ÃÀÛÇÑ ½ãÀÇ Green project¿¡¼­ À¯·¡ÇÑ´Ù. Á¦ÀÓ½º °í½½¸µ(James Gosling)ÀÌ ÁÖµµÇÑ ÀÌ ÇÁ·ÎÁ§Æ®¿¡¼­´Â "°¡ÀüÁ¦Ç°¿¡ ¼ÒÇÁÆ®¿þ¾î ±â¼úÀ» ½ÉÀÚ"¶ó´Â ÃëÁö ÇÏ¿¡ °¡Á¤¿¡¼­ »ç¿ëµÇ´Â ¸ðµç °¡Àü±â±â¸¦ °£ÆíÇÏ°Ô Á¶ÀÛÇÒ ¼ö ÀÖ´Â ´ëÈ­Çü Á¦¾î±â¸¦ C++·Î °³¹ßÇϰí ÀÖ¾ú´Âµ¥ °ð C++°¡ Á¦¾î±â ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡´Â ÀûÇÕÇÏÁö ¾Ê´Ù´Â °ÍÀ» ¾Ë°Ô µÇ¾ú´Ù. C++·Î °³¹ßµÈ ÇÁ·Î±×·¥Àº µ¿ÀÏ ±â´ÉÀÌ´õ¶óµµ Àû¿ëµÇ´Â Á¦Ç°¿¡ µû¶ó ´Ù½Ã ÀÛ¼ºµÇ¾î¾ß ÇϹǷΠ³ëµ¿·Â°ú ºñ¿ëÀÌ Áõ°¡Çϰí, ¶ÇÇÑ C++¿¡¼­ Á¦°øµÇ´Â ´ÙÁß »ó¼Ó(multiple inheritance)ÀÇ º¹À⼺, ¸Þ¸ð¸® ÇÒ´ç µîÀÇ ÀÌÀ¯·Î ¼ÒÇÁÆ®¿þ¾îÀÇ ¾ÈÀü¼º, ÀÌÀü ¹öÀü°úÀÇ È£È¯¼º, °¡°Ý, Ç¥ÁØÈ­, È¿À²¼º µîÀÇ ºÎºÐ¿¡¼­ ¸¹Àº ¹®Á¦Á¡ÀÌ ÀÖÀ½À» ÀνÄÇÏ°Ô µÇ¾ú´Ù. ÀÌ·± ¿¬À¯·Î °í½½¸µ ÆÀÀº ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ°¡ ¿ÀÁ÷ ÇϳªÀÇ ÇÁ·Î±×·¥À¸·Î ÇöÀçÀÇ ¸ðµç Ç÷§Æû¿¡¼­ ½ÇÇà °¡´ÉÇϰí, ¾ÕÀ¸·Î °³¹ßµÉ ½Ã½ºÅÛ¿¡¼­µµ ½ÇÇà ÇÒ ¼ö ÀÖÀ¸¸é¼­ Á»´õ °£ÆíÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ °³¹ßÇϱâ·Î °áÁ¤Çß´Ù[3].

°í½½¸µÀÌ "ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â µµ±¸ÀÌÁö ¸ñÀûÀÌ ¾Æ´Ï´Ù"¶ó°í ÁÖâÇϸ鼭 »õ·Î¿î ¾ð¾î °³¹ß¿¡ Âø¼öÇÑ ÀÌ·¡ 1992³â 9¿ù¿¡ µåµð¾î C++¸¦ ±â¹ÝÀ¸·Î Çϸ鼭 C++°¡ °®´Â º¹À⼺°ú ¹®Á¦Á¡À» Á¦°ÅÇÑ »õ·Î¿î °´Ã¼ÁöÇâ ¾ð¾îÀÎ Oak¸¦ °³¹ßÇÏ°Ô µÇ¾ú´Ù. ¹°·Ð, Oak´Â C++ÀÇ ±â´ÉÀ» Á¦ÀÏ ¸¹ÀÌ ÂüÁ¶ÇÏ¿´À¸³ª Eiffel, SmallTalk, Objective C, Cedar/Mesa¿Í °°Àº ¿©·¯ °¡Áö ¾ð¾îÀÇ ÀåÁ¡µµ ¼ö¿ëÇÏ¿´´Ù. Oak¶õ °í½½¸µÀÌ ÀÚ½ÅÀÇ »ç¹«½Ç ¹ÛÀÇ Âü³ª¹«·ÎºÎÅÍ ¾òÀº À̸§À¸·Î µÚ¿¡ »óÇ¥µî·ÏÀ» À§ÇÑ °Ë»ö °úÁ¤ Áß, 'Oaklisp'À̶ó´Â 'Oak'¿Í À¯»çÇÑ °´Ã¼ ÁöÇâÀû ÇÔ¼öÇü ¾ð¾î°¡ µî·ÏµÇ¾î ÀÖ¾î °í½½¸µÀº ÀÚ½ÅÀÌ ÀÚÁÖ ¸¶½Ã´ø Àεµ³×½Ã¾Æ»ê Ä¿ÇÇ À̸§ÀÎ Java·Î À̸§À» ¹Ù²Ù¾ú´Ù.

1993³â¿¡´Â ¸¶Ä§³» ½ã ÀÚüÀÇ GUI(Graphic User Interface)¿Í Oak¸¦ ÀÌ¿ëÇØ¼­ PDA ŸÀÔÀÇ °¡Àü±â±â Á¦¾î±â¸¦ °³¹ßÇÏ°í ³ª¼­ °í½½¸µ µîÀº ¸ðµç °¡Àü±â±â¿¡ ÀڽŵéÀÌ °³¹ßÇÑ ±â¼úÀÌ »ç¿ëµÉ °ÍÀ¸·Î ±â´ëÇÏ¿´À¸³ª ¸¸Á·½º·´Áö ¸øÇÑ °á°ú·Î ³ªÅ¸³ª°Ô µÇÀÚ ´ç½Ã¿¡´Â Àü¸ÁÀÌ ºÒÅõ¸íÇß´ø Á¤º¸ °í¼Óµµ·Î ÂÊÀ¸·Î Ȱ¿ë¹æÄ§À» ¹Ù²Ù¾ú´Ù. ´ç½Ã¿¡ TimeWarner»ç¿Í °°Àº ±â¾÷µéÀº VOD(Video On Demand)¸¦ Æ÷ÇÔÇÑ ¿©·¯ °¡Áö ´ëÈ­Çü ¼­ºñ½º¸¦ Á¦°øÇÒ °èȹÀ» °¡Áö°í ÀÖ¾ú´Âµ¥ °í½½¸µ µîÀº ¿©±â¿¡ Âø¾ÈÇÏ¿© ´ëÈ­Çü Set-top ÅÚ·¹ºñÀü ½ÃÀåÀ» °ø·«ÇÏ·Á°í ÇÏ¿´´Ù. ±×·¯³ª, ¼ö°³¿ù°£¿¡ °ÉÄ£ Çù»óÀº ½ÇÆÐ·Î ³¡³ª°Ô µÇ°í Green project ÀÚüµµ ÁßÁöµÇ¾ú´Ù.

1994³âÀº Java¸¦ À׎ÃŰ´Â Áß¿äÇÑ ÇÑ ÇØ°¡ µÇ¾ú´Ù. ½ã â¾÷ÀÚÀÇ ÇÑ ¸íÀÎ ºô Á¶ÀÌ(Bill Joy)´Â Oak°¡ ÀÎÅͳݰú ¿ùµå ¿ÍÀ̵å À¥(WWW: World Wide Web)¿¡ Ȱ¿ëµÉ ¼ö ÀÖ´Ù´Â °¡´É¼ºÀ» ¹ß°ßÇÔ¿¡ µû¶ó Green project¸¦ À̲ø´ø Á¦ÀÓ½º °í½½¸µÀº Oak¸¦ ÀÎÅÍ³Ý ÇÁ·Î±×·¡¹Ö¿¡ ÀûÇÕÇÑ ¾ð¾î·Î ¼³°èÇÏ¿© °³¹ßÀ» °¡¼ÓÈ­ÇÏ¿´´Ù. °á±¹ ÀÌ ±âÁ¾ ºÐ»ê ³×Æ®¿öÅ© ȯ°æ¿¡¼­ ÀÀ¿ëÇÁ·Î±×·¥À» °³¹ßÇÒ ¶§ÀÇ À̽ļº, ȣȯ¼º ¹®Á¦¸¦ ÇØ°áÇϰí ÃÖ¼ÒÀÇ ½Ã½ºÅÛ ÀÚ¿øÀ» ¼Ò¸ðÇϸ鼭 ¾î¶² Çϵå¿þ¾î³ª ¼ÒÇÁÆ®¿þ¾î Ç÷§Æû¿¡¼­µµ ½ÇÇàÀÌ °¡´ÉÇϸç, µ¿ÀûÀ¸·Î È®À强 ÀÖ´Â ÀÀ¿ëÇÁ·Î±×·¥ Á¦ÀÛÀÌ °¡´ÉÇÑ Java°¡ °³¹ßµÇ¾ú´Ù.

1995³âÀº ¼¼°è ¼ÒÇÁÆ®¿þ¾î ¿ª»çÀÇ Å« ȹÀ» ±ß´Â ÇÑÇØ·Î Æò°¡µÉ ¸¸ÇÏ´Ù. ½ãÀº 5¿ù 23ÀÏ »÷ÇÁ¶õ½Ã½ºÄÚÀÇ SunWorld `95¿¡¼­ 5³â°£ÀÇ °íÅ뽺·¯¿î ±â¼ú°³¹ß °á°ú¸¦ Áý´ë¼ºÇÑ Java¿Í HotJava¸¦ °ø½ÄÀûÀ¸·Î ¹ßÇ¥Çß´Ù. Java·Î Á¦ÀÛµÈ ÃÖÃÊÀÇ Java ÀÀ¿ëÇÁ·Î±×·¥À¸·Î »ýµ¿°¨ ÀÖ´Â À¥ ÆäÀÌÁö¸¦ Á¦ÀÛÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» Á÷Á¢ º¸¿© ÁØ HotJava´Â Àü ¼¼°è¸¦ ³î¶ó°Ô ÇÏ¿´À¸¸ç ´ç½Ã SunWorld `95¿¡¼­ ´Ù¼öÀÇ È¸»çµéÀÌ Java ±â¼ú¿¡ ´ëÇÑ ¶óÀ̼¾½º °è¾àÀ» ü°áÇÏ¿´´Ù. ƯÈ÷ ³Ý½ºÄÉÀÌÇÁ»ç´Â Java ¾ð¾î¿¡ ´ëÇÑ ¶óÀ̼¾½º¸¦ ÃëµæÇÏ¿© ÀÚ»çÀÇ Netscape Navigator ºê¶ó¿ìÀú¸¦ À籸¼º ÇÒ °ÍÀ̶ó°í ¹ßÇ¥ÇÏ¿´°í Oracle, Borland, IBM, MicroSoft, AT&T µî ´ëºÎºÐÀÇ ¼¼°è À¯¼öÀÇ ¼ÒÇÁÆ®¿þ¾î ȸ»çµéÀÌ Java ¶óÀ̼¾½º °è¾à¿¡ µ¿ÀÇÇϰí, Java¾ð¾î¸¦ ÀÌ¿ëÇÏ¿© ÀÚ»ç Á¦Ç°µéÀ» °³¹ßÇÒ °ÍÀ̶ó°í °ø½ÄÀûÀ¸·Î ¹ßÇ¥ÇÏ¿´´Ù. ÀÌ·¸°Ô ÇØ¼­ Java´Â »ç½Ç»óÀÇ(de facto) ÀÎÅÍ³Ý ±¹Á¦Ç¥ÁØ ¾ð¾îÀÌÀÚ °¡Àå ¹ü¿ë¼ºÀ» ±¸ºñÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î Àϼø°£¿¡ ¿ì¸® ¾Õ¿¡ ³ªÅ¸³­ °ÍÀÌ´Ù.

2. Java¾ð¾îÀÇ Æ¯¼º

Java ¾ð¾î°¡ °³¹ßµÇ±â Àü¿¡ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚµéÀº ´Ù¾çÇÑ Ç÷§Æû ¹× ´Ù¸¥ ¿î¿µÃ¼Á¦ÇÏ¿¡¼­ Ȱ¿ëÇϱâ À§ÇØ ½Ã½ºÅÛ Æ¯¼º¿¡ ¸Â´Â ¼ÒÇÁÆ®¿þ¾î¸¦ Á¦°¢±â °³¹ßÇØ¾ß¸¸ Çß´Ù. ÀÌ·¯ÇÑ È¯°æÀº ÀÌ ±âÁ¾ ºÐ»ê ³×Æ®¿öÅ© ȯ°æ¿¡¼­ ÀÀ¿ëÇÁ·Î±×·¥À» °³¹ßÇÒ ¶§ ¸¹Àº ¹®Á¦Á¡À» À¯¹ß½ÃÄ×´Ù. ±×·¯³ª, Java¾ð¾î°¡ µîÀåÇÑ ÀÌÈÄ¿¡´Â ¼ÒÇÁÆ®¿þ¾î °³¹ß°ú À¯Áö¿¡ À־ °æºñ¿Í ½Ã°£À» ´ëÆø Àý°¨ÇÒ ¼ö ÀÖ°í ±â¼ú °³¹ß¿¡¸¸ ´õ¿í Ä¡ÁßÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. Java´Â ´ÙÀ½°ú °°ÀÌ ¸¹Àº ÀåÁ¡À» °¡Áö°í ÀÖÀ¸¸é¼­ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í ÄÄÇ»ÆÃ ÆÐ·¯´ÙÀÓÀÇ ¹ßÀü¿¡ À־ ÀüÇô »õ·Î¿î °üÁ¡À» Á¦½ÃÇÑ´Ù[18].

‰û Ç÷§Æû µ¶¸³¼º ȤÀº ¾ÆÅ°ÅØÃÄ Á߸³¼º

Java ¾ð¾îÀÇ Æ¯Â¡À» ´ÜÀûÀ¸·Î Ç¥ÇöÇÏ´Â "Write Once, Run AnywhereTM" ¾î±Í¿¡¼­Ã³·³ Java¾ð¾î·Î Çѹø ÀÛ¼ºµÈ ÇÁ·Î±×·¥Àº ¾î´À Ç÷§Æû¿¡¼­³ª ¼öÁ¤ ¾øÀÌ ¼öÇàµÉ ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î, ³×Æ®¿öÅ©´Â ´Ù¾çÇÑ ¸Ó½Å(machine)µé°ú ¿î¿µÃ¼Á¦¸¦ °¡Áø ½Ã½ºÅÛµé·Î ±¸¼ºµÇ¾î ÀÖ´Ù. Java·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥ÀÌ ³×Æ®¿öÅ©»óÀÇ ¾îµð¿¡¼­µçÁö ¼öÇàÀÌ µÇ±â À§Çؼ­´Â ÄÄÆÄÀÏ·¯°¡ ¸Ó½Å±¸Á¶¿¡ Á߸³ÀûÀÎ ¿ÀºêÁ§Æ® ÆÄÀÏ Æ÷¸ËÀ» »ý¼ºÇØ¾ß ÇÑ´Ù. Áï, ³×Æ®¿öÅ©¸¦ ÅëÇØ ÇÁ·Î±×·¥À» ´Ù¿î ¹Þ¾Æ Çϵå¿þ¾î¿¡ °ü°è¾øÀÌ »ç¿ëÇϱâ À§Çؼ­´Â ±âº»ÀûÀ¸·Î ¸Ó½ÅÀÇ ¾ÆÅ°ÅØÃÄ¿¡ µ¶¸³ÀûÀ̰í À̽ļºÀ» º¸ÀåÇÒ ¼ö ÀÖ¾î¾ß µÈ´Ù. Java´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ¸Ó½Å ¾ÆÅ°ÅØÃÄ, ¿î¿µÃ¼Á¦, À©µµ¿ì ½Ã½ºÅÛ¿¡ µ¶¸³ÀûÀÎ Äڵ带 »ç¿ëÇÑ´Ù. ÀÌ ÄÚµå´Â Java °¡»ó¸Ó½Å(JVM: Java Virtual Machine)ÀÌ Áö¿øµÇ´Â ¸Ó½ÅÀ̶ó¸é ¾î´À ¸Ó½Å¿¡¼­µµ ¼öÇà °¡´ÉÇÏ´Ù. µ¥ÀÌÅÍ Çü(data type)¸¸ º¸´õ¶óµµ Java¿¡¼­´Â ¸ðµç Ç÷§Æû¿¡ Àû¿ë °¡´ÉÇÑ Ç¥ÁØÈ­ ŸÀÔ°ú Å©±â¸¦ Á¤ÀÇÇÔÀ¸·Î¼­ À̽ļºÀ» º¸ÀåÇÑ´Ù.

‰û °´Ã¼ ÁöÇâ ¾ð¾î

Java¾ð¾î´Â C++°ú ¸¶Âù°¡Áö·Î °´Ã¼ ÁöÇâ ¾ð¾îÀÌ´Ù. Java´Â Ŭ·¡½ºÀÇ °èÃþ±¸Á¶, »ó¼Ó, ĸ½¶È­ µî°ú °°ÀÌ ½ÇÁ¦·Î À¯¿ëÇϰí È¿À²ÀûÀÎ °´Ã¼ÁöÇâ ¾ð¾îÀÇ Æ¯Â¡À» ´ëºÎºÐ Á¦°øÇÑ´Ù. Java·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥Àº Ŭ·¡½º·Î ±¸¼ºµÇ¸ç ÇÁ·Î±×·¥ÀÇ ¼öÇàÀº Ŭ·¡½ºÀÇ °´Ã¼¸¦ ½ÇÇàÇÔÀ¸·Î½á ÀÌ·ç¾îÁø´Ù. °´Ã¼ ÁöÇâÀûÀÎ Java¾ð¾îÀÇ °¡Àå Å« ÀåÁ¡Àº °¢ °´Ã¼°¡ µ¶¸³ÀûÀ̾ ¸ðµç ¸ðµâÀº ±×´ë·Î Àç »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. °¢ ¸ðµâÀº È®ÀåÇÒ ¼ö ÀÖÀ¸¸ç, À̰ÍÀº ÇÁ·Î±×·¡¸Ó°¡ »õ·Î¿î ÀýÂ÷¿Í »õ·Î¿î ÇÏÀ§ Ŭ·¡½º¸¦ ¸ðµç °´Ã¼¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¶ÇÇÑ Java¸¦ ÀÌ¿ëÇØ¼­ ¹®Á¦¸¦ ³í¸®Àû, Á÷°üÀû, Ư¡Àû °´Ã¼·Î ºÐÇØÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ Java¾ð¾îÀÇ Æ¯¼º ¶§¹®¿¡ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÇ »ý»ê¼ºÀº ¸Å¿ì Çâ»óµÈ´Ù. ±×·¯³ª, JavaÀÇ Å¬·¡½º´Â ÇϳªÀÇ »óÀ§ Ŭ·¡½º¸¸À» °®´Â´Ù. Áï, ´ÙÁß »ó¼Ó(multiple inheritance)ÀÌ Çã¿ëµÇÁö ¾Ê´Â´Ù. ´ë½Å Java´Â Interface¸¦ Áö¿øÇÏ¿© ´ÙÁß »ó¼ÓÀÇ È¿°ú¸¦ °¡Áú ¼ö ÀÖ°Ô ÇÑ´Ù. Java¾ð¾îÀÇ ¶Ç Çϳª Ư¡Àº °´Ã¼¸¦ »ç¿ëÇϱâ Àü¿¡ ¹Ýµå½Ã ¸ÕÀú ¼±¾ðÇØ ÁÖ¾î¾ß Çϸç ÀÌ·± ÀÌÀ¯·Î Java¾ð¾î¸¦ 'statically typed ¾ð¾î'¶ó°í Çϱ⵵ ÇÑ´Ù. ÀÌó·³ °´Ã¼¸¦ ¸ÕÀú ¼±¾ðÇØ ÁְԵǸé ÄÄÆÄÀÏ ÇÒ ¶§ µ¥ÀÌÅÍ Å¸ÀÔ ºÒÀÏÄ¡ °°Àº ¿À·ù¸¦ ½±°Ô ¹ß°ßÇÏ°Ô ÇÔÀ¸·Î½á ¾ÈÀüÇÏ°Ô ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.

‰û ÄÄÆÄÀÏ ¹× ÀÎÅÍÇÁ¸®Æ® ¾ð¾î

Java´Â ÄÄÆÄÀÏÀ» ÅëÇØ ½ÇÇàÆÄÀÏÀ» »ý¼ºÇÏ´Â ¾ð¾î·Î¼­, ÄÄÆÄÀÏÀ» ÅëÇØ ¾ò¾îÁø ÆÄÀÏÀº ¹ÙÀÌÆ®ÄÚµå(bytecode) ÇüŸ¦ °®°ÔµÇ¸ç, ÀÌ ÄÚµå´Â JavaÀÎÅÍÇÁ¸®ÅÍÀÎ JVM¿¡ ÀÇÇØ ÇØ¼®(interpret)µÇ¾î ½ÇÇàµÈ´Ù. µû¶ó¼­ Á¤È®È÷ Ç¥ÇöÇϸé Java¾ð¾î´Â ÄÄÆÄÀÏ ¾ð¾îÀÌÀÚ ÀÎÅÍÇÁ¸®Æ® ¾ð¾î·Î¼­, ¼ø¼öÇÑ ÄÄÆÄÀÏ ¾ð¾îº¸´Ù´Â ¹ü¿ë¼ºÀ» °®°í, ¼ø¼ö ÀÎÅÍÇÁ¸®Æ® ¾ð¾îº¸´Ù´Â ºü¸£°í È¿À²ÀûÀ¸·Î ½ÇÇàµÈ´Ù. ¹°·Ð, ÀÎÅÍÇÁ¸®Æ®µÇ´Â ¾ð¾î´Â ¼ø¼ö ÄÄÆÄÀÏµÈ Äڵ常ŭ ºü¸£°Ô ½ÇÇàµÉ ¼ö´Â ¾øÁö¸¸ À̽ÄÀÌ ÈξÀ ¿ëÀÌÇÏ´Ù´Â ¸é¿¡¼­ ¼º´É»óÀÇ ´ÜÁ¡À» ±Øº¹ÇØ ÁØ´Ù. ¿¹¸¦ µé¾î Java ÇÁ·Î±×·¥À» °³¹ßÇØ¼­ ÄÄÆÄÀÏ Çß´Ù°í °¡Á¤ÇÒ ¶§ °¢ ÄÄÇ»ÅÍÀÇ Ç÷§Æû¿¡ ¸Â´Â JVMÀ» ¼³Ä¡ÇÑ »óÅ¿¡¼­, °°Àº ÇÁ·Î±×·¥À» ¸ÅŲÅä½Ã, PC, UNIX ¿î¿µÃ¼Á¦ÀÇ ÄÄÇ»ÅÍ¿¡¼­ µ¿½Ã¿¡ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ÇϳªÀÇ ¼Ò½º ÄÚµå·Î ´ÙÁß Ç÷§ÆûÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇÒ ¼ö ÀÖ´Ù´Â Á¡Àº ¿ùµå ¿ÍÀ̵å À¥¿ë ÀÀ¿ëÇÁ·Î±×·¥À» ´õ¿í »¡¸® °³¹ßÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.

‰û ´Ü¼ø¼º°ú ¿ëÀ̼º

UNIX´Â °ÅÀÇ ¸ðµç ºÎºÐÀÌ C·Î ÀÛ¼ºµÈ ¿î¿µÃ¼Á¦¸¦ °¡Áö°í ÀÖÀ¸¸ç À©µµ¿ì ÇÁ·Î±×·¥À» Æ÷ÇÔÇÑ »ó´ç ºÎºÐÀÇ À¯Æ¿¸®Æ¼¿Í ´ëºÎºÐÀÇ ¼ÒÇÁÆ®¿þ¾î´Â C/C++ ¾ð¾î·Î ÀÛ¼ºµÇ¾ú´Ù. µû¶ó¼­, ÇöÀç ¼ÒÇÁÆ®¿þ¾î ÇÁ·Î±×·¡¸Ó´Â C/C++ ¾ð¾î¿¡ Ä£¼÷ÇØ ÀÖ´Ù. ±×·±µ¥, Java ¾ð¾î´Â ¹®¹ý ¸é¿¡¼­ C/C++ ÀÇ Çü½ÄÀ» µû¸£°í Àֱ⠶§¹®¿¡ ±âÁ¸ÀÇ C/C++ ¾ð¾îó·³ º° ¾î·Á¿ò ¾øÀÌ ¹Ù·Î Java¸¦ ¹è¿ï ¼ö ÀÖ´Ù. Java´Â C++ÀÇ º¹ÀâÇÏ°í °³³äÀûÀ¸·Î È¥¶õ½º·´´ø ºÎºÐµéÀÌ Á¦°ÅµÇ¾ú´Ù. C³ª C++¿¡¼­ Áö¿øµÇ´Â ÀÚµ¿ÀûÀΠŸÀÔ Ä³½ºÆÃ, ¿¬»êÀÚ ÀçÁ¤ÀÇ, Çì´õÆÄÀÏ, Àü󸮱â, Æ÷ÀÎÅÍ ¿¬»ê, ´ÙÁß »ó¼Ó, structure³ª unionŸÀÔÀÇ ±¸Á¶Ã¼, °ø¿ëü, ´ÙÂ÷¿ø ¹è¿­, ÅÛÇø®Æ®(Templates), ¾Ï½ÃÀû Çüº¯È¯(Implicit Type Conversion) µîÀÌ ¾ø¾îÁ³´Ù.

Java ¾ð¾î¿¡¼­´Â C/C++ÀÌ °¡Áö°í ÀÖ´ø ¿©·¯ °¡Áö º¹ÀâÇÑ ±â´ÉÀ» Á¦°ÅÇÑ ¹Ý¸é¿¡ ´Ü¼ø¼º°ú È¿À²¼ºÀ» ³ôÀ̱â À§ÇØ ¿©·¯ °¡Áö ±â´ÉµéÀ» Ãß°¡ÇÏ¿´´Ù. ¿¹ÄÁµ¥, C/C++¿¡¼­ Á¦°øµÇÁö ¾Ê´Â ÀÚµ¿ÀûÀÎ °¡ºñÁö Ä÷º¼Ç(garbage collection), ´ÙÁß ¾²·¹µå(multithread) µ¿±âÈ­, dzºÎÇÑ Å¬·¡½º ¶óÀ̺귯¸® Áö¿ø ±â´ÉÀÌ Ãß°¡µÇ¾ú´Ù. ÀÚµ¿ÀûÀÎ °¡ºñÁö Ä÷º¼Ç ±â´É Á¦°øÀ¸·Î ÇÁ·Î±×·¡¸Ó°¡ ÀÏÀÏÀÌ ¸Þ¸ð¸® °ü¸®¿¡ ½Å°æÀ» ¾²´Â ºÒÆíÇÔÀ» ¾ø°Ô ÇÏ¿´À¸¸ç ´ÙÁß ¾²·¹µå µ¿±âÈ­ ±â´ÉÀº ¸ÖƼ¾²·¹µå ÇÁ·Î±×·¥À» ´õ¿í ½±°Ô ±¸¼ºÇÒ ¼ö ÀÖ°Ô ÇØ ÁÖ°í »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º, ±×·¡ÇÈ, ³×Æ®¿öÅ© µîÀ» Áö¿øÇϴ dzºÎÇÑ Å¬·¡½º ¶óÀ̺귯¸® Á¦°øÀ¸·Î ÇÁ·Î±×·¡¸Ó°¡ Á÷Á¢ ÄÚµùÇØ¾ß ÇÏ´Â ºÎºÐÀ» ´ëÆø ÁÙÀÏ ¼ö ÀÖ°Ô µÇ¾ú´Ù.

‰û ¾ÈÁ¤¼º°ú ½Å·Ú¼º

ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Æ°Æ°ÇÒ¼ö·Ï ½Å·Úµµµµ Ä¿Áø´Ù. À̰ÍÀº »ç¿ëÀÚ»Ó¸¸ ¾Æ´Ï¶ó, ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ ÀÔÀå¿¡¼­µµ ¹Ù¶÷Á÷ÇÏ´Ù. Java´Â C++¸¦ »ç¿ëÇÏ´Â °Í º¸´Ù ¾ÈÀüÇÏ´Ù. ´ëºÎºÐÀÇ µ¥ÀÌÅÍÇü °Ë»ç´Â ÄÄÆÄÀÏ ½Ã¿¡ ¼öÇàµÈ´Ù. ±×·¯³ª, Java ¾ð¾î¿¡¼­´Â ÄÄÆÄÀÏ ½Ã¿Í ·±Å¸ÀÓ ½ÃÀÇ 2ȸ¿¡ °ÉÃÄ µ¥ÀÌÅÍÇü °Ë»ç¸¦ ½Ç½ÃÇϱ⠶§¹®¿¡ ÇÁ·Î±×·¡¹Ö »óÀÇ ¿¡·¯ ±³Á¤ È®·üÀ» ³ô¿© ÁØ´Ù. ÄÄÆÄÀÏ ½ÃÀÇ °Ë»ç¿¡¼­´Â ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ º¸´Ù ±¤¹üÀ§ÇÑ ¿¡·¯¸¦ ã°Ô ÇØ ÁÖ°í Àǹ̻óÀÇ ¿¡·¯µµ ºñ±³Àû Á¤È®ÇÏ°Ô °Ë»çÇØ ÁØ´Ù. Java ¾ð¾îÀÇ ½Å·Ú¼ºÀ» ³ôÀÌ´Â ¶Ç ÇϳªÀÇ ÁÖ¿ä ¿øÀÎÀº Æ÷ÀÎÅ͸¦ »ç¿ëÇÏÁö ¾Ê±â ¶§¹®¿¡ ÀÓÀÇÀÇ ÁÖ¼Ò¸¦ Æ÷ÀÎÆÃÇÏ¹Ç·Î½á ¹ß»ýÇÏ´Â ½Ã½ºÅÛ ¿¡·¯¸¦ ¿¹¹æÇÑ´Ù.

Java ÇÁ·Î±×·¥ÀÇ ½ÇÇà ½Ã¿¡ Java ÀÎÅÍÇÁ¸®ÅͰ¡ ÇÁ·Î±×·¥ÀÇ ½Ã½ºÅÛ Á¢±ÙÀ» Á¦¾îÇϱ⠶§¹®¿¡ Java ÇÁ·Î±×·¥¿¡ ÀÇÇØ¼­ ½Ã½ºÅÛÀÌ Á×´Â ÀÏÀº ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ½Ã½ºÅÛ ¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡ ´ëºñÇÏ¿© ¿¹¿Üó¸®(Exception handling) Äڵ带 Æ÷ÇÔ½ÃÄÑ ³õÀ½À¸·Î½á ¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡µµ ÇÁ·Î±×·¥ÀÌ Á¾·áµÇÁö ¾Ê°í Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ°Ô ÇØÁØ´Ù. ¹°·Ð, C³ª C++¿¡¼­µµ ¿¹¿Üó¸® ±â´ÉÀÌ ÀÖÀ¸³ª Java ¾ð¾î¿¡¼­ÀÇ ¿¹¿Üó¸® ±â´ÉÀÌ ÈξÀ ü°èÀûÀ̰í È¿À²ÀûÀÌ´Ù.

Tcl, SmallTalk, Lisp °°Àº µ¿Àû ¾ð¾îµéÀº ÇÁ·Î±×·¡¸Ó°¡ ¸Þ¸ð¸® °ü¸®¿Í ¸Þ¸ð¸® ¼Õ»ó¿¡ ´ëÇØ °ÆÁ¤ÇÒ Çʿ䰡 ¾ø±â ¶§¹®¿¡, ÀϹÝÀûÀ¸·Î ¾ÆÁÖ Æ°Æ°ÇÑ °ÍÀ¸·Î °£ÁֵȴÙ. ÀÌ¿Í ºñ½ÁÇÏ°Ô Java ¾ð¾î¿¡¼­µµ °¡ºñÁö Ä÷º¼Ç ±â´ÉÀÌ Á¦°øµÇ±â ¶§¹®¿¡ ¸Þ¸ð¸® ¼Õ½ÇÀ» ¿ÏÀüÈ÷ Á¦°ÅÇÒ ¼ö ÀÖ´Ù. µû¶ó¼­ Java ¾ð¾î¸¦ ÀÌ¿ëÇÏ¸é ±âÁ¸ÀÇ ¾î´À ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ÀÌ¿ëÇÏ´Â °Íº¸´Ù ÈξÀ ¾ÈÁ¤ÀûÀÌ°í ½Å·Ú¼º ÀÖ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.

‰û ¾ÈÀü¼º(Security)

Java´Â ³×Æ®¿öÅ© ȯ°æ¿¡¼­ÀÇ È°¿ëÀ» À§ÇØ ¼³°èµÇ¾ú±â ¶§¹®¿¡, º¸´Ù Çâ»óµÈ º¸¾È ±â´ÉÀÌ ¿ä±¸µÈ´Ù. Java¿¡¼­ÀÇ º¸¾È ±â´ÉÀº 2°¡Áö Ãø¸é¿¡¼­ Å©°Ô º¸°­µÇ¾ú´Ù.

ù°, Java ¾ð¾î´Â Æ÷ÀÎÅ͸¦ Áö¿øÇÏÁö ¾Ê±â ¶§¹®¿¡ ÇÁ·Î±×·¥ÀÌ ÀÓÀÇÀÇ ½Ã½ºÅÛ ¸Þ¸ð¸® ¿µ¿ªÀ» ħ¹üÇÏ´Â °ÍÀº ¿øÃµÀûÀ¸·Î ºÒ°¡´ÉÇØ¼­ ¹ÙÀÌ·¯½º¿¡ °¨¿°µÈ ÇÁ·Î±×·¥ÀÌ¶óµµ ½Ã½ºÅÛ¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ¾ø°Ô µÇ¾î ÀÖ´Ù.

µÑ°, ¹ÙÀÌÆ®ÄÚµå´Â ½ÇÇàµÇ±â Àü¿¡ ¾ÈÀü¼ºÀ» °ËÁõÇÏ´Â °úÁ¤À» °ÅÄ¡µµ·Ï µÇ¾î ÀÖ´Ù.

‰û È®À强

Java ¾ð¾îÀÇ °¡Àå Å« ÀåÁ¡ ÁßÀÇ Çϳª´Â È®À强ÀÌ´Ù. Java ¾ð¾î¸¦ ÀÌ¿ëÇϸé ȣȯ¼º°ú »óÈ£ ¿î¿ë¼ºÀ» À¯ÁöÇÏ´Â µ¿½Ã¿¡ ±âÁ¸ÀÇ È¯°æ¿¡¼­ º°´Ù¸¥ ³ë·Â¾øÀÌ »õ·Î¿î ±â´ÉÀ» Ãß°¡ÀûÀ¸·Î È®ÀåÇÒ ¼ö ÀÖ´Ù. Java´Â ¸ðµâÀ» °áÇÕÇÏ´Â ±â´ÉÀ» Áö¿øÇÔÀ¸·Î½á ÇÁ·Î±×·¡¸Ó°¡ °´Ã¼ ÁöÇâ ÆÐ·¯´ÙÀÓ °³³äÀ» ÃæºÐÈ÷ Ȱ¿ëÇÒ ¼ö ÀÖ´Â ¶Ù¾î³­ È®À强À» Á¦°øÇÑ´Ù. ¶óÀ̺귯¸®¿¡ ÀÖ´Â ±âÁ¸ Ŭ·¡½º¿¡ ´ëÇÑ »õ·Î¿î ¸Þ¼Òµå¿Í ÀνºÅϽº º¯¼ö´Â ÇöÀçÀÇ ÇÁ·Î±×·¥, ¾ÖÇø®ÄÉÀ̼Ç, Ŭ¶óÀÌ¾ðÆ®¸¦ ÆÄ±«ÇÏÁö ¾Ê°íµµ Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ±âÁ¸ÀÇ Java ÇÁ·Î±×·¥¿¡ »õ·Î¿î ±â´ÉÀ» È®Àå½Ã۱â À§Çؼ­´Â »õ·Î¿î ±â´É¸¸À» ÄÚµùÇϰųª ³×Æ®¿öÅ©¸¦ ÅëÇØ ÇØ´ç ±â´ÉÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ °¡Á®¿Í¼­ ±âÁ¸ Java ÇÁ·Î±×·¥¿¡ Ç÷¯±×ÀÎ(plug-in)ÇØ¼­ »ç¿ëÇÏ¸é µÈ´Ù. ÀÌ´Â Java¿¡¼­ Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝ Çڵ鷯¿Í ÄÁÅÙÆ®(content) Çڵ鷯¶ó´Â °³³äÀ» ÀÌ¿ëÇÏ¿© °¡´ÉÇÏ°Ô µÈ´Ù.

‰û ¼º´É

Java ¾ð¾î´Â ÄÄÆÄÀÏ ¾ð¾îÀÌÀÚ ÀÎÅÍÇÁ¸®Æ® ¾ð¾î·Î¼­ ÀÎÅÍÇÁ¸®ÅÍÀÇ ¼Ó¼º¶§¹®¿¡ ¼Óµµ°¡ ¼ø¼ö ÄÄÆÄÀÏ ¾ð¾î¿¡ ºñÇØ ¸Å¿ì ´À¸° °ÍÀ¸·Î ÀÎ½ÄµÇ¾î ¿Ô´Ù. À̸»Àº ȯ°æ¿¡ µû¶ó »ç½ÇÀÏ ¼öµµ ÀÖ°í °ÅÁþÀÏ ¼öµµ ÀÖ´Ù. Java ÇÁ·Î±×·¥ÀÌ ½ºÅÄµå ¾ó·Ð(stand-alone)¹æ½ÄÀ¸·Î ¼ö¾ÞµÉ ¶§´Â C++ °°Àº ±âÁ¸ ¾ð¾î·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥º¸´Ù ÈξÀ ´À¸° °ÍÀº »ç½ÇÀ̳ª(º¸Åë 10 - 20¹è Á¤µµ ´À¸° °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖÀ½), Java ÇÁ·Î±×·¥ÀÌ ÀÎÅͳݰ°Àº ºÐ»êȯ°æ¿¡¼­ ¼öÇàµÉ ¶§´Â C++À̳ª CGI·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥º¸´Ù´Â ¿ÀÈ÷·Á ºü¸£´Ù. ±× ÀÌÀ¯´Â Java ÇÁ·Î±×·¥ÀÎ ¾ÖÇø´(applect)ÀÌ Å©±â°¡ À۾Ƽ­ ½Å¼ÓÇÏ°Ô À̵¿ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÇöÀç ½ºÅÄµå ¾ó·Ð ȯ°æ¿¡¼­µµ Java ¾ð¾îÀÇ ¼º´ÉÀ» Çâ»ó½Ã۱â À§ÇÑ ³ë·ÂÀÌ ´Ù°¢ÀûÀ¸·Î ÁøÇàµÇ°í ÀÖ´Ù. ÀÌ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº III ÀåÀÇ Java °¡»ó¸Ó½Å¿¡¼­ ´Ù½Ã ³íÀÇÇϱâ·Î ÇÑ´Ù.

III. Java ±â¼úÀÇ ±¸¼º ¿ä¼Ò

Java ±â¼úÀº Å©°Ô º¸¾Æ Java ¿î¿µÃ¼Á¦, Java ±â¹Ý API ¹× Java ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ 3°¡Áö·Î ±¸ºÐÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½¿¡ ÀÌµé ±¸¼º¿ä¼Ò¿Í °³¹ß ȯ°æ ¹× µµ±¸ÀÎ JDK¿¡ ´ëÇØ ³íÀÇÇÑ´Ù.

1. JavaOS ¿î¿µÃ¼Á¦

JavaOS ¿î¿µÃ¼Á¦´Â Java ÇÁ·Î±×·¥À» Á÷Á¢ Çϵå¿þ¾î Ç÷§Æû¿¡ ½ÇÇà½ÃŰ°Ô ÇØÁÖ¸ç ÀÛ°í È¿´ÉÀÌ ³ôÀº ¿î¿µÃ¼Á¦ÀÌ´Ù. JavaOS ¿î¿µÃ¼Á¦´Â ±×¸² 2¿Í °°ÀÌ °èÃþÀû ±¸Á¶·Î µÇ¾î ÀÖÀ¸¸ç Ç÷§Æû¿¡ ÀÇÁ¸ÀûÀÎ ºÎºÐ°ú Ç÷§Æû µ¶¸³ÀûÀÎ ºÎºÐÀÇ 2°³ ºÎºÐÀ¸·Î Å©°Ô ±¸¼ºµÇ¾î ÀÖ´Ù. Ç÷§Æû¿¡ ÀÇÁ¸ÀûÀÎ ºÎºÐÀº JavaOS ºÎÅÍ(Booter), JavaOS ¸¶ÀÌÅ©·ÎÄ¿³Î(MicroKernel), Java °¡»ó¸Ó½Å(JVM) À¸·Î ±¸¼ºµÇ¸ç º¸Åë ÇØ´ç Ç÷§ÆûÀÇ C³ª C++ ¶Ç´Â ¾î¼Àºí·¯·Î ÀÛ¼ºµÇ±â ¶§¹®¿¡ ³×ÀÌÆ¼ºê ÄÚµå(native code)¶ó°íµµ ÇÑ´Ù. Ç÷§Æû µ¶¸³ÀûÀÎ ºÎºÐÀº AWT(Abstract Window Toolkit), JavaOS ±×·¡ÇÈ ½Ã½ºÅÛ, JavaOS À©µµ¿ì ½Ã½ºÅÛ, JavaOS µð¹ÙÀ̽º µå¶óÀ̹ö, JavaOS Net/NFS ¹× IO net·Î ±¸¼ºµÇ¸ç ¸ðµÎ Java ¾ð¾î·Î ÀÛ¼ºµÇ¾î ÀÖ´Ù.

±×¸² 2. Java ¿î¿µÃ¼Á¦ÀÇ °èÃþ±¸Á¶

JavaOS´Â ¼º´É, À̽ļº, µ¿½Ã µ¿ÀÛ, ³×Æ®¿öÅ© Á᫐ µîÀÇ ¸é¿¡¼­ À¯¿¬¼º°ú ¿ëÀ̼ºÀ» Á¦°øÇÑ´Ù. JavaOS´Â ±âÁ¸ÀÇ ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥°ú´Â ȣȯ¼ºÀ» À¯ÁöÇÒ Çʿ䰡 ¾øÀÌ Java ¹× Java ¾ÖÇø´À» Áö¿øÇϵµ·Ï ¼³°èµÇ¾î À־, JavaOSÀÇ ºÒÇÊ¿äÇÑ °èÃþÀ» Á¦°ÅÇϰí ÃÖ¼ÒÇÑÀÇ ¸Þ¸ð¸® ±¸¼ºÀ¸·Î ¿î¿µÃ¼Á¦¸¦ ²Ù¹Ð ¼ö Àֱ⠶§¹®¿¡ ¼º´ÉÇâ»óÀÌ °¡´ÉÇÏ´Ù. JavaOS´Â ¿©·¯ °¡Áö ´Ù¾çÇÑ Ç÷§Æû¿¡ ¼³Ä¡µÉ ¼ö Àֱ⠶§¹®¿¡, »ç¿ëÀÚ´Â ÇϳªÀÇ ÇÁ·Î±×·¥À» ¼öÁ¤¾øÀÌ x86, SPARC, ARM ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­ ¾ÆÅ°ÅØÃç µîÀ» Æ÷ÇÔÇÑ ´Ù¸¥ Çϵå¿þ¾î Ç÷§Æû¿¡¼­ ½ÇÇà½Ãų ¼ö ÀÖ´Ù. ¶ÇÇÑ, JavaOS´Â Java¾ð¾îÀÇ ´ÙÁß ¾²·¹µå¿Í ¸Þ¸ð¸® °ü¸® ±â´ÉÀ» Áö¿øÇϱ⠶§¹®¿¡, »ç¿ëÀÚ´Â Java ÇÁ·Î±×·¥À» ½ÇÇà ½ÃŰ¸é¼­ µ¿½Ã¿¡ ³×Æ®¿öÅ© Á¤º¸¸¦ ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù. À̿ܿ¡µµ, JavaOS´Â ³×Æ®¿öÅ©³ª ÇÏµå µð½ºÅ©¸¦ ÅëÇØ °ª½Ñ ÃÖ¼Ò ¸Þ¸ð¸® Java Á¦Ç°µéÀ» ROMÀ¸·ÎºÎÅÍ ºÎÆÃÇÏ¿© ÀÌ¿ë ¼ö ÀÖ°Ô ÇÔÀ¸·Î½á ³×Æ®¿öÅ© Áß½ÉÀÇ ÄÄÇ»ÆÃ ȯ°æÀ» ¸¸µé¾î ÁØ´Ù.

´ÙÀ½¿¡ JavaOSÀÇ ±¸¼º¿ä¼Òµé¿¡ ´ëÇÑ ±â´ÉÀ» °£´ÜÈ÷ »ìÆìº»´Ù.

°¡. Java °¡»ó¸Ó½Å(Java Virtual Machine)

Java ±â¼úÀº ¼ÒÇÁÆ®¿þ¾îÀûÀ¸·Î °¡»ó ¸Ó½ÅÀ» ±¸ÇöÇÏ¿© ÀÓÀÇÀÇ ½Ã½ºÅÛ¿¡¼­ ½ÇÇàµÉ ¼ö ÀÖÀ¸¹Ç·Î ƯÁ¤ÇÑ Çϵå¿þ¾î³ª ¿î¿µÃ¼Á¦¿¡ Á¾¼ÓµÇÁö ¾Ê´Â Ç÷§Æû µ¶¸³ÀûÀΠȯ°æÀ» Á¦°øÇÑ´Ù. °¡»ó ¸Ó½ÅÀº ÄÄÆÄÀÏ·¯³ª ÀÎÅÍÇÁ¸®ÅÍ °³¹ß¿¡¼­ À̽ļºÀ» ³ôÀ̱â À§ÇÑ ¼ö´ÜÀ¸·Î ÈçÈ÷ »ç¿ëµÇ¾î¿Â ±â¼úÀÌ´Ù. ÀÌ·¯ÇÑ ±â¼úÀ» äÅÃÇÑ Àü·Ê·Î´Â ErlangÀÌ ÀÖ´Ù. ErlangÀº ÀüÈ­±³È¯±â µî°ú °°Àº Åë½Å ½Ã½ºÅÛ °³¹ßÀ» À§ÇÑ ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀ¸·Î È¿À²¼ºÀ» ÀûÀýÈ÷ Èñ»ýÇÏ¿© À̽ļºÀ» Ãß±¸ÇÑ ´ëÇ¥ÀûÀÎ »ç·Ê¿´´Ù. Java ±â¼úµµ ErlangÀÇ °æ¿ì¿Í °ÅÀÇ À¯»çÇÏ´Ù. ErlangÀÌ ³í¸®¿Í ÇÔ¼öÇü ¾ð¾î¸¦ À§ÇÑ ½Ã½ºÅÛÀ¸·Î °³¹ßµÇ¾ú´Ù¸é Java´Â °´Ã¼ÁöÇâÇü ¾ð¾î¿Í ³×Æ®¿öÅ©¸¦ À§ÇÑ ½Ã½ºÅÛÀ¸·Î °³¹ßµÇ¾úÀ¸¸ç, ErlangÀÌ Åë½Å ½Ã½ºÅÛÀ» À§ÇÑ ±â¼úÀ̶ó¸é Java´Â °í°´ÁÖ¹®Çü °¡ÀüÁ¦Ç°°ú ÀÎÅͳÝ, À¥ µîÀ» À§ÇÑ ½Ã½ºÅÛÀ¸·Î °³¹ßµÇ¾ú´Ù´Â °Í µîÀ» Â÷ÀÌÁ¡À¸·Î µé ¼ö ÀÖ´Ù.

Java °¡»ó¸Ó½ÅÀº Java¹ÙÀÌÆ®Äڵ带 ½ÇÇà½ÃŰ´Â ÀÏÁ¾ÀÇ ¼ÒÇÁÆ®¿þ¾î CPU·Î¼­ Java·Î ÀÛ¼ºµÈ ¼ÒÇÁÆ®¿þ¾î°¡ ¾î´À Ç÷§Æû¿¡¼­³ª ¼öÁ¤ ¾øÀÌ µ¿ÀÛÇÒ ¼ö ÀÖµµ·Ï Àß Á¤ÀÇµÈ Ç¥ÁØ ÀÀ¿ë ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù[11]. Java °¡»ó ¸Ó½ÅÀÇ µ¿ÀÛ ¿ø¸®´Â ±×¸² 3¿¡¼­¿Í °°´Ù.

±×¸² 3. Java °¡»ó¸Ó½ÅÀÇ µ¿ÀÛ ¿ø¸®

Java·Î ¾²¿©Áø ¼Ò½ºÄÚµå(.java¶õ È®ÀåÀÚ¸¦ °¡Áü)´Â Java ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ .class¶õ È®ÀåÀÚ¸¦ °¡Áø ¹ÙÀÌÆ®ÄÚµå·Î º¯È¯µÈ´Ù. ¹ÙÀÌÆ®ÄÚµå´Â Java °¡»ó¸Ó½Å¿¡ ´ëÇÑ ÀνºÆ®·°¼Ç ÄÚµåÀ̸ç ÇϳªÀÇ opcode¿Í ÆÄ¶ó¹ÌÅÍ Çü½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù. ¹ÙÀÌÆ®ÄÚµå¶õ opcode°¡ 1¹ÙÀÌÆ®·Î ±¸¼ºµÇ±â ¶§¹®¿¡ ºÙ¿©Áø ¸íĪÀ̸ç ÇöÀç Java °¡»ó¸Ó½Å¿¡¼­´Â ¾à 220¿©°³ÀÇ ¹ÙÀÌÆ®Äڵ带 »ç¿ëÇϰí ÀÖ´Ù.

Java ¹ÙÀÌÆ®Äڵ尡 ³×Æ®¿öÅ©¸¦ ÅëÇØ¼­ Java °¡»ó¸Ó½ÅÀÌ À§Ä¡ÇÑ È£½ºÆ®¿¡ Àü´ÞµÇ¸é, Ŭ·¡½º ·Î´õ(Class Loader)´Â Java Ŭ·¡½º ¶óÀ̺귯¸®ÀÇ Áö¿øÀ» ¹Þ¾Æ ¹ÙÀÌÆ®ÄÚµå È­ÀÏ(Ŭ·¡½º È­ÀÏ)À» ·Îµå ÇÑ´Ù. Java °¡»ó ¸Ó½ÅÀº ³×Æ®¿öÅ©¸¦ ÅëÇØ ÀÔ·ÂµÈ ¹ÙÀÌÆ®Äڵ忡 ´ëÇØ ½Å·Ú¸¦ ÇÏÁö ¾Ê±â ¶§¹®¿¡ ¹ÙÀÌÆ®ÄÚµå °ËÁõ±â(Verifier)¸¦ ÀÌ¿ëÇÏ¿© °ËÁõÀ» ½ÃÇàÇÑ´Ù. °ËÁõ°úÁ¤À» Åë°úÇÏÁö ¸øÇÏ¸é ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇϰí, ¸¸ÀÏ ÀÌ °úÁ¤ÀÌ ¼º°øÀûÀ¸·Î ³¡³ª°Ô µÇ¸é, Java ÀÎÅÍÇÁ¸®Åͳª JIT (Just-In-Time) ÄÄÆÄÀÏ·¯¸¦ ÅëÇÏ¿© ¹ÙÀÌÆ®Äڵ带 ÇØ´ç Ç÷§ÆûÀÇ Æ¯Á¤ ¿î¿µÃ¼Á¦¿¡ ÀûÇÕÇÑ ¸í·É¾î·Î º¯È¯ ½ÃŲ´Ù. Java °¡»ó ¸Ó½ÅÀÇ ¼öÇà µ¿ÀÛÀº Ŭ·¡½º, ÀÎÅÍÆäÀ̽º, °´Ã¼µéÀÇ life cycle·Î ±¸¼ºµÈ´Ù. JVMÀº Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽ºÇü ·Îµù(loading), ¸µÅ·(linking), ÃʱâÈ­, »õ·Î¿î Ŭ·¡½º »ý¼ºÀ» À§ÇÑ ¸Þ¸ð¸® °ø°£ ÇÒ´ç, Ŭ·¡½ºÀÇ ÇÏ¿ª(unloading), VM(Virtual Machine)ÀÇ ¼öÇàÁ¾·á ¼øÀ¸·Î µ¿À۵ȴÙ.

Java ¾ð¾î°¡ ¼Óµµ°¡ ´À¸° °ÍÀº Java °¡»ó ¸Ó½ÅÀÇ ÀÎÅÍÇÁ¸®ÅÍ Æ¯¼º¿¡ ±âÀÎÇÑ´Ù. Java °¡»ó ¸Ó½ÅÀÇ ¼º´ÉÀ» Çâ»ó½Ã۱â À§ÇÏ¿© JIT ÄÄÆÄÀÏ·¯¸¦ ä¿ëÇÑ Java °¡»ó ¸Ó½Å, Çϵå¿þ¾îÀûÀ¸·Î Java °¡»ó ¸Ó½Å ±¸Çö, ½Ç½Ã°£(realtime) Java °¡»ó ¸Ó½Å °³¹ß µîÀÇ 3°¡Áö ¹æ½ÄÀ¸·Î ÁøÇàµÇ°í ÀÖ´Ù.

‰ûJIT ÄÄÆÄÀÏ·¯

JIT ÄÄÆÄÀÏ·¯´Â Java ¹ÙÀÌÆ®Äڵ带 ³×ÀÌÆ¼ºê ±â°èÄÚµå·Î º¯È¯ÇØÁֱ⠶§¹®¿¡ ÀÎÅÍÇÁ¸®ÅͰ¡ ¾Æ´Ï¶ó ¹ÙÀÌÆ®ÄÚµå ÄÄÆÄÀÏ·¯ÀÌ´Ù. ±×·¯³ª ÀÌ JIT ÄÄÆÄÀÏ·¯´Â ƯÁ¤ Ç÷§Æû¿¡ ´ëÇÑ ±â°èÄڵ带 »ý¼ºÇϱ⠶§¹®¿¡ À̽ļºÀÌ ¾ø¾îÁö´Â ´ÜÁ¡Àº ÀÖ´Ù. ÇöÀç ¸¹Àº ¾÷ü¿¡¼­ JIT ÄÄÆÄÀÏ·¯¸¦ °³¹ßÇÏ¿© »ó´çÇÑ ¼º´É Çâ»ó È¿°ú¸¦ º¸°í ÀÖ´Ù. SynmantecÀº ±îÆä(Cafe)¶õ JIT ÄÄÆÄÀÏ·¯¸¦ °³¹ßÇÏ¿© ½ã¿¡¼­ Á¦°øÇÏ´Â Java °¡»ó¸Ó½Å º¸´Ù ÀϺΠÇÁ·Î±×·¥À̱â´Â ÇÏÁö¸¸ 20¹è Á¤µµ ¼º´ÉÀÌ Çâ»óµÇ¾úÀ½À» º¸¿© ÁÖ¾úÀ¸¸ç, Borland JIT ÄÄÆÄÀÏ·¯ÀÎ AppAccelerator¿¡¼­´Â ½ãÀÇ Java °¡»ó¸Ó½Å º¸´Ù 15¹è Á¤µµÀÇ ¼º´É Çâ»óÀ» ³ªÅ¸³»¾ú´Ù. ÀÌ ¿Ü¿¡µµ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ MS SDK for Java, IBMÀÇ AIX ¿Í OS/2, ½ãÀÇ Solaris¿¡¼­µµ JIT ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇÒ ¼ö ÀÖ°í, ¾ÖÇÃÀÇ ¸ÅŲÅä½Ã¸¦ À§ÇÑ JIT ÄÄÆÄÀÏ·¯µµ °³¹ßµÇ¾î ÀÖ´Ù.

‰ûÇϵå¿þ¾îÀû Java °¡»ó¸Ó½Å

Çϵå¿þ¾îÀûÀ¸·Î Java °¡»ó¸Ó½ÅÀ» ±¸ÇöÇÏ·Á´Â ½Ãµµ°¡ »ó´çÇÑ ÁøÀüÀ» ÀÌ·ç°í ÀÖ´Ù. ÃÖ±Ù ½ã¿¡¼­ ¶óÀ̼¾½ºÇϱ⠽ÃÀÛÇÑ picoJava IÀ̶ó´Â JavaChip ¾ÆÅ°ÅØÃÄ¿Í ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­ °³¹ßÀº Java °¡»ó¸Ó½ÅÀÇ ¼º´ÉÇâ»ó¿¡ »õ·Î¿î ¹æÇâÀ» Á¦½ÃÇϰí ÀÖÀ¸¸ç Java ¹ÙÀÌÆ®Äڵ带 Á÷Á¢ ½ÇÇàÇÒ ¼ö ÀÖ´Â ÀÌ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­´Â Àú°¡°Ý¿¡ Ãʰí¼ÓÀÇ Java ¼öÇàȯ°æÀ» Á¦°øÇÑ´Ù´Â Á¡¿¡¼­ ȹ±âÀûÀ¸·Î Æò°¡µÇ°í ÀÖ´Ù. ½ÇÁ¦·Î picoJava I, ½ãÀÇ Java °¡»ó¸Ó½ÅÀ» žÀçÇÑ ÀÎÅÚ 486 ¹× ÆæÆ¼¾ö ÇÁ·Î¼¼¼­¸¦ º¥Ä¡¸¶Å© ½ÃÇèÇÑ °á°ú, picoJava I ÀÌ ÀÎÅÚ 486º¸´Ù 15- 20¹è, ÆæÆ¼¾öº¸´Ù 5¹èÀÇ ¼Óµµ Çâ»óÀ» °¡Á® ¿Ô´Ù°í ÇÑ´Ù. ¸¸ÀÏ ³»ÀåÇü ½Ã½ºÅÛÀ̳ª PDA µî¿¡ ÀÌ picoJava IÀ» ÀÌ¿ëÇÑ´Ù¸é °ª ½Î°í ¼º´ÉÀÌ ÁÁÀº Á¦Ç°»ý»êÀÌ °¡´ÉÇÒ °ÍÀÌ´Ù.

‰û½Ç½Ã°£ Java °¡»ó ¸Ó½Å

ÀϹÝÀûÀÎ Java °¡»ó¸Ó½Å ¿Ü¿¡ ÀϺΠ¾÷ü¿¡¼­´Â ƯÁ¤ ½Ã½ºÅÛÀ» ¸ñÇ¥·Î ÇÏ¿© ½Ç½Ã°£ Áö¿øÀ» À§ÇÑ Java °¡»ó ¸Ó½ÅÀ» °³¹ßÇϰí ÀÖ´Ù. PERC¶õ ½Ç½Ã°£ Java °¡»ó ¸Ó½ÅÀÌ °³¹ßµÈ ¿¹°¡ ÀÖÀ¸¸ç Ameran¿¡¼­µµ ³»ÀåÇü ½Ã½ºÅÛÀ» À§ÇÑ ½Ç½Ã°£ Java °¡»ó ¸Ó½ÅÀ» °³¹ßÇÏ¿´´Ù.

Java°¡»ó¸Ó½ÅÀ» ¿î¿µÇÏ´Â ¸ðµ¨Àº ÀûÀçµÇ´Â ½Ã½ºÅÛ È¯°æ¿¡ µû¶ó È£½ºÆ® ¿î¿µÃ¼Á¦¸¦ °¡Áö°í ÀÖ´Â °æ¿ì¿Í È£½ºÆ® ¿î¿µÃ¼Á¦°¡ ¾ø´Â °æ¿ìÀÇ µÎ°¡Áö·Î ³ª´­ ¼ö ÀÖ´Ù. È£½ºÆ® ¿î¿µÃ¼Á¦°¡ ÀÖ´Â »óÅ¿¡¼­ Java °¡»ó ¸Ó½ÅÀ» ¿î¿µÇÏ´Â ¸ðµ¨Àº ±×¸² 4¿Í °°´Ù.

±×¸² 4. È£½ºÆ® ¿î¿µÃ¼Á¦»ó¿¡¼­ JVM¸¦ À̽ÄÇÑ Java ½ÇÇàȯ°æ ±¸¼ºµµ

Java Ç÷§ÆûÀÌ È£½ºÆ® ¿î¿µÃ¼Á¦¿Í ÇÔ²² »ç¿ëµÉ ¶§, Java °¡»ó¸Ó½Å°ú ±â¹Ý Ŭ·¡½º(Foundation Class)°¡ ¿î¿µÃ¼Á¦ ¶Ç´Â À¥ ºÎ¶ó¿ìÀú¿Í °°Àº ÀÀ¿ëÇÁ·Î±×·¥³»¿¡ ³»ÀåµÉ ¼ö ÀÖ´Ù. ±×¸² 4¿¡¼­ Java APIÀÇ »óÀ§ ºÎºÐÀº Ç÷§Æû¿¡ µ¶¸³ÀûÀÌ´Ù. Java API´Â ¾ð¾î Ŭ·¡½º¿Í À¯Æ¿¸®Æ¼ Ŭ·¡½º¸¦ Æ÷ÇÔÇÏ¿© AWT(Abstract Window Toolkit), ³×Æ®¿öÅ© ¹× I/O Ŭ·¡½º µîÀÇ ´Ù¼öÀÇ Java·Î ÀÛ¼ºµÈ Ŭ·¡½º·Î ±¸ÇöµÇ¸ç ¸ðµç Ç÷§Æû¿¡ µ¶¸³ÀûÀÌ´Ù.

Java °¡»ó¸Ó½ÅÀÇ Áß¿ä ¿ä¼ÒÀÎ Java ·±Å¸ÀÓÀº Ç÷§Æû µ¶¸³ÀûÀÎ ºÎºÐ°ú Ç÷§Æû ÀÇÁ¸ÀûÀÎ ºÎºÐÀ¸·Î ³ª´¶´Ù. Java ·±Å¸ÀÓÀÇ Ç÷§Æû µ¶¸³ÀûÀÎ ºÎºÐÀº C ÄÚµå·Î ÀÛ¼ºµÈ ÀÎÅÍÇÁ¸®ÅÍ¿Í garbage collector¸¦ Æ÷ÇÔÇÑ´Ù. Java ·±Å¸ÀÓÀÌ »õ·Î¿î Ç÷§Æû¿¡ ÀÌ½ÄµÉ ¶§, ±Ã±ØÀûÀ¸·Î È£½ºÆ® ¿î¿µÃ¼Á¦ÀÇ Áö¿øÀ» ¹Þ±â À§ÇÏ¿© ƯÁ¤ÇÑ Ç÷§Æû ÀÇÁ¸ÀûÀÎ Äڵ尡 À̽ĵǾî¾ß ÇÑ´Ù. ÀÌ ¸ðµ¨¿¡¼­ È£½ºÆ® ¿î¿µÃ¼Á¦´Â Java ·±Å¸ÀÓÀ» À§ÇÑ ¸ÖƼ¾²·¹µù ±â´É, Java ·±Å¸ÀÓÀÌ ÀÚ½ÅÀÇ ¸Þ¸ð¸® Èü(heap)À» °ü¸®Çϰí garbage collectionÀ» ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¸Þ¸ð¸® ÇÒ´ç ±â´É, AWT¸¦ À§ÇÑ À©µµ¿ì¿Í ±×·¡ÇÈ Áö¿ø°ú Java ³×Æ®¿öÅ· Ŭ·¡½º¸¦ Áö¿øÇϱâ À§ÇÑ ¼­ºñ½º¸¦ Á¦°øÇØ¾ß ÇÑ´Ù. Áï, È£½ºÆ® ¿î¿µÃ¼Á¦´Â AWT¸¦ ÀÚ½ÅÀÇ À©µµ¿ì ¹× ±×·¡ÇÈ ¼­ºê ½Ã½ºÅÛÀ¸·Î ¸ÅÇÎÇØ¾ß Çϰí, ³×Æ®¿öÅ· Ŭ·¡½º¸¦ ÀÚ½ÅÀÇ native networking ÄÚµå·Î º¯È¯Çϸç, ¶ÇÇÑ ÆÄÀÏ °ü·Ã I/O Ŭ·¡½º¸¦ È£½ºÆ® ¿î¿µÃ¼Á¦ÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î ¸ÅÇÎÇϰí, Java °¡»ó¸Ó½ÅÀÇ Ç÷§Æû ÀÇÁ¸ÀûÀÎ ºÎºÐÀ» ¸Þ¸ð¸® ÇÒ´ç°ú ¾²·¹µå °ü¸®¸¦ À§ÇÑ Æ¯º°ÇÑ ½Ã½ºÅÛ È£Ãâ·Î À̽ÄÇØ¾ß ÇÑ´Ù.

È£½ºÆ® ¿î¿µÃ¼Á¦ ¾øÀÌ JavaOS ¿î¿µÃ¼Á¦¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â Java °¡»ó ¸Ó½ÅÀ» ¿î¿µÇÏ´Â ¸ðµ¨Àº ±×¸² 5¿Í °°´Ù[17][18].

±×¸² 5. JavaOS¸¦ ±â¹ÝÀ¸·Î ÇÑ Java ½ÇÇàȯ°æ ±¸¼ºµµ

ÀÌ ¸ðµ¨¿¡¼­´Â JavaOS ¿î¿µÃ¼Á¦°¡ È£½ºÆ® ¿î¿µÃ¼Á¦ÀÇ Áö¿øÀ» ¹ÞÀ»¼ö°¡ ¾øÀ¸¹Ç·Î JavaOS ¿î¿µÃ¼Á¦¿¡¼­ ´ëºÎºÐÀÇ ±â´ÉµéÀ» Á¦°øÇØ¾ß ÇÑ´Ù. Java Ç÷§ÆûÀ» Áö¿øÇϱâ À§ÇØ JavaOS´Â Java ¸¶ÀÌÅ©·ÎÄ¿³ÎÀ» »ç¿ëÇÑ Java °¡»ó ¸Ó½Å°ú AWT, ³×Æ®¿öÅ· ¹× ÆÄÀÏ °ü·Ã I/O Ŭ·¡½º¸¦ Áö¿øÇØ¾ß Çϰí, µð½ºÇ÷¹ÀÌ, ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º, ¸¶¿ì½º, Űº¸µå¸¦ Á¦¾îÇϱâ À§ÇÑ µå¶óÀ̹öµµ Á¦°øÇØ¾ß Çϸç, Java APIµµ ¿ÏÀüÇÏ°Ô Áö¿øÇØ¾ß ÇÑ´Ù. ÀÌ ¸ðµ¨¿¡¼­ÀÇ Java ·±Å¸ÀÓÀº »ç¿ëÀÚ ¼öÁØÀÇ ÀÀ¿ëÇÁ·Î±×·¥À» ¼öÇà½Ãų »Ó¸¸ ¾Æ´Ï¶ó, ½Ã½ºÅÛ ·¹º§ÀÇ À©µµ¿ì, ±×·¡ÇÈ, ³×Æ®¿öÅ·, µå¶óÀ̹ö Äڵ嵵 ¼öÇàÇÑ´Ù. JavaOS Ä¿³ÎÀº Java °¡»ó¸Ó½Å¿¡ ÀÇÇØ ¿ä±¸µÇ´Â Àú¼öÁØ ÇÔ¼ö¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù. ¿¹¸¦ µé¸é, ºÎÆÃ, ¿¹¿Üó¸®, ¾²·¹µå °ü¸®, ¸Þ¸ð¸® °ü¸®, ¸ð´ÏÅÍ, ÆÄÀϽýºÅÛ, ŸÀ̹Ö, ¿ø½Ã ÄÚµå ¶óÀ̺귯¸® °ü¸®, ÀÎÅÍ·´Æ®, DMA, µð¹ö±ë, ±âŸ Ç÷§Æû Á¦¾î µîÀ» Æ÷ÇÔÇÑ´Ù.

³ª. JavaOS ¸¶ÀÌÅ©·ÎÄ¿³Î

JavaOS ¸¶ÀÌÅ©·ÎÄ¿³ÎÀº JavaOSÀÇ ÇÙ½É ºÎºÐÀ¸·Î Çϵå¿þ¾îÀÇ Á÷Á¢ÀûÀÎ Á¦¾î¸¦ ÅëÇÏ¿© »óÀ§ÀÇ Java °¡»ó¸Ó½Å¿¡ ¼­ºñ½º¸¦ Á¦°øÇØ¾ß ÇÑ´Ù. JavaOS ¸¶ÀÌÅ©·ÎÄ¿³ÎÀº ºÎÆÃ, ÀÎÅÍ·´Ã³¸®, ´ÙÁß¾²·¹µå °ü¸®, Æ®·¦ ¹× DMA ó¸®, ¿¹¿Üó¸® ¹× ´Ù¼öÀÇ ¾ÖÇø´À» µ¿½Ã¿¡ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÑ´Ù.

´Ù. Java Ŭ·¡½º

JavaOS¿¡¼­´Â »ç¿ëÀÚÀÇ ºÎ´ãÀ» ÃÖ¼ÒÈ­Çϱâ À§ÇÏ¿© ÀÔÃâ·Â, À̹ÌÁö, ³×Æ®¿öÅ© °ü·Ã ±â´É µî°ú °°ÀÌ º¹ÀâÇÏÁö¸¸ ²À ÇÊ¿äÇÑ ±â´ÉµéÀ» Ŭ·¡½º·Î ¹Ì¸® ¸¸µé¾î ³õ°í »ç¿ëÀÚ°¡ ½±°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù. ´ÙÀ½¿¡ JavaOS¿¡¼­ Á¦°øÇϴ Ŭ·¡½º Áß ´ëÇ¥ÀûÀÎ °ÍµéÀÇ ±â´ÉÀ» °£´ÜÈ÷ »ìÆìº»´Ù.

‰û³×Æ®¿öÅ© Ŭ·¡½º

³×Æ®¿öÅ© Ŭ·¡½º´Â ±âº»ÀûÀÎ Àü¼Û°ú ¶ó¿ìÆÃÀ» À§ÇØ TCP/IP, UDP, ICMP °°Àº »ê¾÷ Ç¥ÁØ ³×Æ®¿öÅ· ÇÁ·ÎÅäÄÝÀ» Æ÷ÇÔÇÏ¸ç ·Î±ä(log-in)µ¿¾È È£½ºÆ® À̸§À» ã°í »ç¿ëÀÚ À̸§°ú ÆÐ½º¿öµå¸¦ Á¦°øÇϱâ À§ÇØ DNS¿Í NIS°¡ »ç¿ëµÈ´Ù. JavaOS´Â ³×Æ®¿öÅ© ¾îµå·¹½º¸¦ ã°í Ŭ¶óÀ̾ðÆ®ÀÇ ºÎ´ãÀ» ¾ø¾Ö±â À§ÇÏ¿© Reverse ARP¿Í DHCP¸¦Áö¿øÇϸç JavaOS°¡ ÀåÂøµÈ Ŭ¶óÀÌ¾ðÆ®´Â NFS¼­¹öÀÇ ÆÄÀÏÀ» ¾ï¼¼½ºÇÒ ¼ö ÀÖ´Ù.

‰ûI/O Ŭ·¡½º

ÆÄÀÏ ½Ã½ºÅÛ °ü·Ã ÀÔÃâ·Â ±â´ÉÀ» Á¦°øÇÑ´Ù.

‰ûJavaOS À©µµ¿ì ½Ã½ºÅÛ

½ºÅ©¸°¿¡ ³ªÅ¸³ª´Â ¸ðµç µµ¸éÀ» °ü¸®ÇÏ°í ¹öư, ¸Þ´º, ½ºÅ©·Ñ¹Ù °°Àº »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ÄÄÆ÷³ÍÆ®¸¦ ±¸ÇöÇϸç À©µµ¿ì Áßø °ü¸® ±â´ÉÀ» Áö¿øÇÑ´Ù.

‰ûJavaOS ±×·¡ÇÈ ½Ã½ºÅÛ

±×¸®±â, ä¿ì±â, ¼±, ¾ÆÅ©¿Í Æú¸®°ï ¹× ÆùÆ® ·»´õ¸µ µî¸ª Æ÷ÇÔÇÏ¿© ±×·¡ÇÈ¿¡ °ü·ÃµÈ °øÅë ±â´ÉÀ» Áö¿øÇÑ´Ù.

‰ûAWT(Abstract Windowing Toolkit)

JavaOS À©µµ¿ì ½Ã½ºÅÛ°ú JavaOS ±×·¡ÇÈ ½Ã½ºÅÛÀÇ Áö¿øÀ» ¹Þ¾Æ¼­ È­¸é»óÀÇ À̹ÌÁö ±¸¼ºÀ̳ª »ç¿ëÀÚ ±×·¡ÇÈ È¯°æ ±¸¼ºÀ» Áö¿øÇÑ´Ù. ÇöÀç GUI±â¹ÝÀÇ ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¸µå´Â µ¥ À©µµ¿ì, ¹öư, ÅØ½ºÆ®, ¸®½ºÆ® ¸Þ´º ¼±Åà µîÀÇ ±âº»ÀûÀÎ GUI ÄÄÆ÷³ÍÆ®µéÀ» Áö¿øÇϸç, °æ·®(lightweight) ÄÄÆ÷³ÍÆ® »ý¼º, ±×·¡ÇÈ À̹ÌÁö ó¸®, ´ë±Ô¸ð ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ßÀ» Áö¿øÇϱâ À§ÇÑ À§ÀÓ(delegation) À̺¥Æ® ¸ðµ¨, ¸¶¿ì½º°¡ ¾ø´Â °æ¿ì¿¡µµ »ç¿ëÇÒ ¼ö Àִ ȯ°æ Áö¿ø, ¸ðµç ±×·¡ÇÈ À̹ÌÁö¸¦ ÇÁ¸°Æ®ÇÏ´Â ±â´É µîÀÌ Á¦°øµÈ´Ù.

‰ûJFC(Java Foundation Classes)

ÃÖ±Ù¿¡ ³Ý½ºÄÉÀÌÇÁ´Â ¸ðµç Ç÷§Æû¿¡¼­ µ¿ÀÏÇÑ ·è¾ØÇÊ(look and feel)ÀÌ ³ªÅ¸³ªµµ·Ï ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥À» °³¹ßÇÒ ¼ö ÀÖ°Ô ÇϱâÀ§ÇÏ¿© IFC(Internet Foundation Classes)¸¦ ¸¸µé¾ú´Ù. ½ãÀº ÀÌ IFCÀÇ ¶Ù¾î³­ ±â´ÉÀ» Ȱ¿ëÇϱâ À§ÇÏ¿© ÀÚ»çÀÇ AWT¿Í ÇÕÃļ­ »õ·Î¿î Ŭ·¡½º¸¦ ¸¸µå´Â °ÍÀ» °ËÅäÇÏ¿´À¸¸ç °á±¹Àº ½ã, IBM ¹× ³Ý½ºÄÉÀÙÀº »õ·Î ¸¸µé Ŭ·¡½º¸¦ ´ÜÀÏ »ê¾÷ Ç¥ÁØÈ­ Çϱâ·Î ÇÕÀÇÇÔÀ¸·Î½á JFC°¡ ¸¸µé¾î Á³´Ù. µû¶ó¼­ JFC´Â ±âÁ¸ÀÇ Java AWT¿Í ³Ý½ºÄÉÀÙÀÇ IFC¸¦ °áÇÕ½ÃŲ Ŭ·¡½º ¶óÀ̺귯¸®ÀÌ´Ù.

2. Java Ç÷§Æû APIs

Java Ç÷§Æû APIs(Application Programming Interfaces)´Â Java ÀÀ¿ëÇÁ·Î±×·¥°ú ¾ÖÇø´À» °³¹ßÇϴµ¥ ÇÊ¿äÇÑ Ç¥ÁØ ÀÎÅÍÆäÀ̽º ÁýÇÕÀ¸·Î¼­ JavaSoft ¹× Á¦ 3ÀÇ ¾÷üµé(third party)¿¡ ÀÇÇØ Á¦°øµÈ´Ù. Java Ç÷§Æû APIs´Â Java ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ßÀ» À§ÇÑ ±âº» ÇÁ·¹ÀÓ¿öÅ©·Î¼­ Java ÀÀ¿ëÇÁ·Î±×·¥ÀÇ °³¹ß ½Ã°£À» ´ÜÃà½Ãų »Ó¸¸ ¾Æ´Ï¶ó °³¹ßµÈ ÀÀ¿ë ÇÁ·Î±×·¥Àº Java °¡»ó¸Ó½ÅÀÌ ÀåÂøµÈ ¾î´À Ç÷§Æþ¿¡¼­µµ ȣȯ¼ºÀÌ º¸ÀåµÈ´Ù.

ÇöÀç ±×¸² 6[17]°ú °°ÀÌ ´Ù¼öÀÇ Java Ç÷§Æû APIs°¡ Á¦°øµÇ°í ÀÖÀ¸¸ç, ´ëºÎºÐÀÇ Java Ç÷§Æû APIs´Â Java Base API¿Í Java standard Extension APIÀÇ 2°¡Áö·Î ±¸¼ºµÈ´Ù. Java Base API´Â Java Applet API¶ó°íµµ ÇÏ¸ç ±âº»ÀûÀÎ Java ¾ÖÇø´°ú ÀÀ¿ëÇÁ·Î±×·¥À» ½ÇÇà½Ã۴µ¥ ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ API ÁýÇÕÀ̸ç, Java Standard Extension API´Â Java Base APIÀÇ ±â´ÉÀ» È®Àå½ÃŲ °ÍÀ¸·Î È®ÀåµÈ ±â´ÉÀÇ ÀϺδ ±à±¹ÀûÀ¸·Î Java Base API·Î ÀÌÀüµÈ´Ù. ´ÙÀ½¿¡ Java Ç÷§Æû APIsÀÇ ±â´ÉÀ» °£´ÜÈ÷ »ìÆìº»´Ù.

±×¸² 6. Java Ç÷¿Æû API ¸ðµ¨

°¡. Java Enterprise APIs

Java ±â¾÷(Enterprise) APIs´Â Java ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ±â¾÷ÀÇ µ¥ÀÌÅͺ£À̽º¿Í ±âÁ¸ÀÇ ÀÀ¿ë ÇÁ·Î±×·¥À» ¿¬°áÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÑ´Ù. ÀÌ APIs¸¦ Ȱ¿ëÇÔÀ¸·Î½á ±â¾÷ÀÇ ¾î¶² ¿î¿µÃ¼Á¦³ª Çϵå¿þ¾î Ç÷§Æû¿¡¼­µµ ¼öÇàµÉ ¼ö ÀÖ´Â ºÐ»ê Ŭ¶óÀ̾ðÆ®/¼­¹ö ÀÀ¿ë ÇÁ·Î±×·¥À» °³¹ßÀÌ °¡´ÉÇÏ´Ù. ÇöÀç Java ±â¾÷ APIs¿¡´Â Ç¥ÁØ SQL µ¥ÀÌÅͺ£À̽º ¾ï¼¼½º ÀÎÅÍÆäÀ̽º·Î¼­ Java ÇÁ·Î±×·¡¸Ó¿¡¼¼ ³ÐÀº ¹üÀ§ÀÇ °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ÅëÀÏµÈ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÒ »Ó¸¸ ¾Æ´Ï¶ó °í ¼öÁØÀÇ µµ±¸¿Í ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé ¼ö ÀÖ´Â °øÅë ±â¹ÝÀ» Á¦°øÇÏ´Â JDBC(Java Database Connectivity), Java ÀÀ¿ë ÇÁ·Î±×·¥¿¡°Ô À̱âÁ¾ ÄÄÇ»ÆÃÀÇ »ê¾÷ Ç¥ÁØÀÎ CORBA(Common Object Request Broker Architecture)¿ÍÀÇ »óÈ£ ¿¬µ¿¼º°ú ¿¬°á¼ºÀ» Á¦°øÇÏ´Â Java IDL(Interface Definition Language), Ŭ¶óÀÌ¾ðÆ®¿Í ¼­¹öÀÇ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Java·Î ÀÛ¼ºµÇ¾úÀ» °æ¿ì¿¡ RPC(Remote Procedure Call)¿Í À¯»çÇÑ ¹æ¹ýÀ¸·Î ´Ù¸¥ Java °¡»ó¸Ó½ÅÀÇ ¸Þ½îµå¸¦ È£ÃâÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â Java RMI(Remote Method Invocation) ¹× Java ÀÀ¿ë ÇÁ·Î±×·¥¿¡°Ô ±â¾÷¿¡ ÀÖ´Â ´Ù¼öÀÇ ³×ÀÌ¹Ö ¹× µð·ºÅ丮 ¼­ºñ½º¿¡ ´ëÇÑ Àϰü¼º ÀÖ´Â ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ´Â JNDI(Java Naming and Directory Interface)ÀÇ 4°¡Áö°¡ ÀÖ´Ù.

³ª. JavaBeansTM API

JavaBeansTM API´Â ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®¸¦ À§ÇÑ API·Î¼­, JavaBeans ÄÄÆ÷³ÍÆ®¿¡´Â GUI À§Á¬°ú °°Àº °£´ÜÇÑ °Í¿¡¼­ ºÎÅÍ ½ÃÀÛÇÏ¿© ¿ÏÀüÇÑ ÀÀ¿ë ÇÁ·Î±×·¥¿¡ À̸£±â±îÁö ¾î´À °ÍÀ̳ª Æ÷Ç﵃ ¼ö ÀÖ´Ù. JavaBeans ÄÄÆ÷³ÍÆ®°¡ ÀÛ¼ºµÇ¸é, ±× ÄÄÆ÷³ÍÆ®´Â Java °¡»ó¸Ó½ÅÀÌ ÀåÂøµÈ ¾î´À Ç÷§Æû¿¡¼­³ª ¼öÇà °¡´ÉÇÏ´Ù. ¶ÇÇÑ, JavaBeans ÄÄÆ÷³ÍÆ®´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾îÀÇ ActiveX¿Í °°Àº ´Ù¸¥ ¾÷üÀÇ ÄÄÆ÷³ÍÆ®¿Í ÅëÇÕ µÇ¾î »ç¿ëµÉ ¼ö ÀÖ´Ù. ½ã¿¡¼­ °³¹ßÇÑ ActiveX¿ë JavaBeans Bridge¸¦ ÀÌ¿ëÇϸé, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾îÀÇ Offic¿Í VisualBasic°°ÀÌ ActiveX¸¦ Æ÷ÇÔÇϰí ÀÖ´Â ÀÀ¿ëÇÁ·Î±×·¥ ³»¿¡¼­ JavaBeans¸¦ ¼öÇà½Ãų ¼ö ÀÖ´Ù.

JavaBeans´Â JavaSoft°¡ IBM, ³Ý½ºÄÉÀÌÇÁ, Borland µî°ú Çù·ÂÇÏ¿© °³¹ßÇÑ´Ù. ÇöÀç IBMÀº 500°³ ÀÌ»óÀÇ JavaBeans¸¦ °³¹ßÇϰí ÀÖÀ¸¸ç, 50¿©°³°¡ °ø°³µÇ¾ú´Ù. JavaBeans´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ActiveX ±â¼ú°ú Àü·«ÀûÀ¸·Î ºñ±³ÇÒ ¼ö ÀÖ´Ù. ActiveX´Â À©µµ¿ìÁ À§ÇÑ º¹ÇÕ¹®¼­ ±¸Á¶¸¦ Áö¿øÇÏ´Â COM/DCOM ¸ðµ¨ÀÇ ÀÏÁ¾À¸·Î ÀÎÅͳÝÀ» Áö¿øÇÏ´Â COM/DCOM ¸ðµ¨·Î ´Ù¾çÇÑ ¾ð¾î·Î ¾²¿©Áø ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®¿¡ µ¿ÀÏÇÑ Á¢±ÙÀ» Á¦°øÇϰíÀÚ ÇÏ´Â ¸ñÇ¥¸¦ °¡Áö°í ÀÖÀ¸³ª ´ÜÁö Win32 ȯ°æÀÇ Ç÷§ÆûÀ» Áö¿øÇÏ´Â ´ÜÁ¡À» Áö´Ï°í ÀÖ´Ù. Java¸¦ ActiveX¿¡ ³»Æ÷½ÃŰ´Â °ÍÀº °á±¹¿¡ ActiveXÀÇ ÄÄÆ÷³ÍÆ®°¡ Win32¿¡ ÇÑÁ¤µÇ¾î ÀÖ´Â °Í°ú ¸¶Âù°¡ÁöÀ̸ç ÀÌ ±âÁ¾ÀÇ ³×Æ®¿öÅ© ÄÄÇ»ÆÃ ȯ°æ¿¡¼­ JavaÀÇ Ç÷§Æû µ¶¸³ÀûÀÎ ÀåÁ¡À» ÀÒ¾î¹ö¸®´Â °á°ú¸¦ °¡Á®¿Â´Ù. ¹Ý¸é¿¡ JavaBeans´Â Java¿¡ ±â¹ÝÀ» µÎ°í ÀÎÅͳݰú À¥À¸·Î ±¸¼ºµÈ ³×Æ®¿öÅ© ÄÄÇ»ÆÃ ȯ°æÀ» À§ÇØ Æ¯º°È÷ °³¹ßµÈ »õ·Î¿î °³³äÀÌ´Ù. JavaBeans °°Àº ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ® ±¸Á¶¸¦ »ç¿ëÇÔÀ¸·Î½á °³¹ßÀÚµéÀº ´Ù¸¥ ÄÄÆ÷³ÍÆ®¿¡ Ç¥ÁØÈ­µÈ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇϰí ÄÄÆ÷³ÍÆ®µéÀº »ç¿ëÀÚ È¯°æ¿¡ ÀûÇÕÇÏ°Ô À籸¼ºµÇ¾î(customized) ºñÁî´Ï½º ÀÀ¿ëÇÁ·Î±×·¥À» ¸¸µå´Âµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ³Ý½ºÄÉÀÌÇÁÀÇ Á¶»ç¿¡ ÀÇÇϸé 587,000°³ÀÇ À¥»çÀÌÆ®°¡ ÀÚ»çÀÇ JavaScript¸¦ »ç¿ëÇϰí ÀÖÀ¸¸ç, ActiveX´Â ´ÜÁö 35,000°³¸¸ Á¶»çµÇ¾ú´Ù[8]. ÀÌÁ¡À» º¼ ¶§, JavaBeansÀÇ Å©·Î½ºÇ÷§Æû(cross-platform) ±â´ÉÀº Java °¡»ó ¸Ó½ÅÀÌ Å¾ÀçµÈ ¸ðµç °÷¿¡¼­ ¿î¿µÀÌ °¡´ÉÇÑ ¹Ý¸é, ActiveX´Â À̽ļºÀÌ ¾ø´Â C++¿Í Visual BasicÀ¸·Î ¾²¿©Áø ActiveX Controls·Î Á¦ÇÑµÈ À̿뼺À» °®´Â´Ù. "Write Once, Run AnywhereTM"ÀÇ °³³äÀ¸·Î °³¹ßµÈ JavaBeans´Â À̽ÄÀÇ ÇѰ踦 ¾ø¾Ö°í ±âÁ¾ ¹× Ç÷§Æû µ¶¸³ÀûÀÎ ÄÄÆ÷³ÍÆ®¸¦ Á¦°øÇÔÀ¸·Î¼­ Java ¾ÖÇø´¿¡¼­ºÎÅÍ ±â¾÷Çü Java ÀÀ¿ë ÇÁ·Î±×·¥¿¡±îÁö Æø ³Ð°Ô »ç¿ëµÇ¾î ¼ÒÇÁÆ®¿þ¾îÀÇ °³¹ß ½Ã°£°ú ºñ¿ëÀ» Çõ½ÅÀûÀ¸·Î °¨¼Ò½Ãų ¼ö ÀÖ´Ù. JavaBeans¿Í ActiveXÀÇ Àå´ÜÁ¡À» ºñ±³Çϸé Ç¥ 1°ú °°´Ù.
Ç¥ 1 Java, JavaBeans, ActiveX ºñ±³
±¸ ºÐ
JavaBeans
ActiveX
¿ë µµ
MSÀÇ ActiveX¿Í ´ëÀÀµÇ´Â Sun¿¡¼­ °³¹ßÇÑ Á¦Ç°À¸·Î ³×Æ®¿öÅ© ȯ°æÀÌ Áß½ÉÀÌ µÇ´Â ÀÎÅÍ³Ý ¼ÒÇÁÆ®¿þ¾î ¿ä¼Ò °³¹ßÀ» À§ÇÔ Windows95/NT¿¡¼­ MSÀÇ ¾ÖÇø®ÄÉÀÌ¼Çµé °£ÀÇ ¼ÒÇÁÆ®¿þ¾î ¸ðµâµéÀ» °øÀ¯Çϱâ À§ÇØ »ç¿ëµÇ´ø OLE ±â¼úÀ» È®ÀåÇÏ¿© Àç»ç¿ë °¡´ÉÇÑ ÀÎÅÍ³Ý ¼ÒÇÁÆ®¿þ¾î ÄÁÆ÷³ÍÆ® °³¹ßÀ» À§ÇÔ
Ç÷§Æû Áö¿ø
¸ðµç Ç÷§Æû Windows 95 / NT
ó¸® ¼Óµµ
JDK¿¡ ºñÇØ 10¹èÁ¤µµ ºü¸§
Áö¿ø ȯ°æ 
(¶óÀ̺귯¸®/ °³¹ßÅø)
´ëºÎºÐÀÇ Java °³¹ßµµ±¸°¡ JavaBeans¸¦ Áö¿øÇϰí ÀÖÀ½(¿¹:JBuilder, Visual Cafe) PC ȯ°æ¿¡¼­ ÁÁÀ½ 

(Windows95 / NT »ó¿¡¼­ ¿î¿µµÇ´Â ´ë´Ù¼öÀÇ ±âÁ¸ Åø Áö¿ø)

º¸¾È
ÁÁÀ½ 

(100% ¼ø¼ö ÀÚ¹Ù Áö¿ø, ÀÚ¹ÙÀÇ º¸¾È ¸ðµ¨ Àû¿ë)

Ãë¾à 

(ÀÎÅÍ³Ý È¯°æ¿¡¼­ ƯÈ÷ Ãë¾à)

¾÷ü Çù·Â °ü°è
À¯´Ð½º °ü·Ã ¾÷üÀÇ Áö¿ø, ¼¼·Â ¼ºÀå Áß À©µµ¿ì S/W ¾÷ü Áö¿ø
 

´Ù. Java Security APIs

Java Security APIs´Â Java ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÇÏÀ§ ·¹º§°ú »óÀ§ ·¹º§ º¸¾È±â´ÉÀ» Æ÷ÇÔÇÒ ¼ö ÀÖµµ·è ÇØÁØ´Ù. ±âº»ÀûÀ¸·Î ÀüÀÚ¼­¸í°ú ¸Þ½ÃÁö ´ÙÀÌÁ¦½ºÆ®¸¦ Æ÷ÇÔÇÑ º¸¾È±â´ÉÀÇ ÀϺθ¦ Áö¿øÇϸç Ãß°¡·Î Ű °ü¸®, ÀÎÁõ°ü¸®¿Í Á¢±Ù ÅëÁ¦¿¡ ´ëÇØ¼­´Â Ãß»ó ÀÎÅÍÆäÀ̽º(abstract interface)¸¦ Á¦°øÇÑ´Ù.

¶ó. Java JFC APIs

Java JFC(Java Foundation Classes) API´Â Java ÀÀ¿ëÇÁ·Î±×·¡¸Ó¿¡°Ô GUI¸¦ Áö¿øÇϸç Java 2D, Swing Set µîÀ» Æ÷ÇÔÇÑ´Ù. Java 2D´Â AWT¸¦ È®Àå½ÃŲ ¶óÀÎ, À̹ÌÁö, »ö»ó µîÀ» Æ÷ÇÔÇÑ Ãß»ó À̹ÌÁö ¸ðµ¨(abstract image model)À» Á¦°øÇϸç, Swing SetÀº °æ·® ÄÄÆ÷³ÍÆ®µéÀÇ ÁýÇÕÀ¸·Î ´Ü¼øÇÑ ¹öư¿¡¼­ºÎÅÍ Æ®¸®ºä ¹× Æú´õ¿¡ À̸£±â±îÁö ´Ù¾çÇÏ´Ù.

¸¶. Java Server APIs

Java Server API´Â Java À§ÁÖÀÇ ¼­¹ö¸¦ ½Å¼ÓÇÏ°í ¾ÈÀüÇÏ°Ô °³¹ßÇÒ ¼ö ÀÖµµ·Ï ¼­¹ö°ü¸®, ¾î¼¼½º Á¦¾î ¹× µ¿Àû ÀÚ¿ø°ü¸®¸¦ À§ÇÑ ¼­¹öÃø Áö¿øÀ» À§ÇÑ Å¬·¡½º ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇϰí ÀÖÀ¸¸ç Servlet APIµµ Á¦°øÇÑ´Ù. ¼­ºí¸´(Servlet)Àº ¾ÖÇø´¿¡ ´ëÀÀµÇ´Â ¼­¹öÂÊÀÇ °´Ã¼·Î¼­, ´Ü¼øÇÑ HTTP ¼­ºí¸´À¸·ÎºÎÅÍ JDBC/ODBC¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º¸¦ ¿¬°áÇÏ´Â º¹ÀâÇÑ ¼­ºí¸´¿¡ À̸£±â±îÁö ¸Å¿ì ´Ù¾çÇÏ´Ù.

¹Ù. Java Commerce APIs

ÀÎÅͳÝÀ» ÅëÇØ ÀüÀÚ ÁöºÒ, ¿Â¶óÀÎ ¼îÇθô, ÀüÀÚ °áÀç, À繫 ºÐ¼® µîÀÇ ÀüÀÚ»ó°Å·¡¿Í °ü·ÃÇÏ¿© Æ®·£Àè¼Ç 󸮰¡ Áõ°¡Çϰí ÀÖ´Â »óȲ¿¡¼­ Java Commerce API´Â À¥À» ÅëÇØ¼­ ¾ÈÀüÇÏ°Ô ¹°Ç°À» °ü¸®Çϰí À繫°ü¸®¸¦ °¡´ÉÇÏ°Ô ÇØÁØ´Ù. Java Commerce APIÀÇ Ãʱâ ÄÄÆ÷³ÍÆ®´Â Java WalletÀ̸ç, À̴ Ŭ¶óÀ̾ðÆ®Ãø¿¡¼­ ³×Æ®¿öÅ©¸¦ ±â¹ÝÀ¸·Î ÇÏ¿© »ó°Å·¡¸¦ °¡´ÉÇÏ°Ô ÇØÁÖ´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ Á¤ÀÇÇØÁØ´Ù. Java WalletÀº ½Å¿ë Ä«µå¿Í Çö±Ý Ä«µå¸¦ ³ÖÀ» ¼ö ÀÖ´Â ºó Áö°©À¸·Î »ý°¢ÇÒ ¼ö ÀÖÀ¸¸ç À̸§, ÁÖ¼Ò, ÁöºÒ µµ±¸(½Å¿ë Ä«µå, Çö±Ý Ä«µå, ÀüÀÚ Ä³½Ã µî), ¹°Ç° ±¸¸Å Á¤º¸ µîÀÇ °³ÀÎ Á¤º¸¸¦ ¼ö·ÏÇÒ ¼ö ÀÖ°í, ºñÀÚ¿Í ¸¶½ºÅÍÄ«µå¿¡ÀÇÇØ Áö¿øµÇ´Â SET(Secure Electronic Transaction)¿Í °°ÀÌ Æ¯Á¤ ÁöºÒ ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇØÁÖ´Â Payment cassette¿Í ¿¹»ê ¹× À繫ºÐ¼® °°Àº ºÎ°¡°¡Ä¡ ¼­ºñ½º¸¦ ±¸ÇöÇØÁÖ´Â Service cassette¸¦ Á¦°øÇϸç ÀÌ cassetteµéÀº »õ·Î¿î ÇüÅÂÀÇ °áÀç(signed) ¾ÖÇø´ÀÌ´Ù. Java WalletÀº ÀÌ ¿Ü¿¡µµ »õ·Î¿î ÁöºÒ ¹× ¼­ºñ½º cassetteÀ» ¼³Ä¡ÇÏ°Ô ÇØÁÖ°í °­·ÂÇÑ º¸¾È ¼­ºñ½º ±â´Éµµ Á¦°øÇÑ´Ù

ȍ. Java Media APIs

Java Media API´Â Java ÇÁ·Î±×·¥¿¡¼­ ¿Àµð¿À, ºñµð¿À, 2D À̹ÌÁö, 3D ±×·¡ÇÈ, ¾Ö´Ï¸ÞÀ̼Ç, °øµ¿ÀÛ¾÷, ÀüÈ­Åë½Å(telephony), À½¼º µîÀ» Æ÷ÇÔÇÑ ´Ù¾çÇÑ ¹üÀ§ÀÇ ´ëÈ­Çü ¸Åü¸¦ ó¸®ÇÒ ¼ö ÀÖµµ·ÏÇÏ´Â ¸ÖƼ¹Ìµð¾î Ŭ·¡½º¸¦ Á¤ÀÇÇÑ´Ù. Java Media API´Â È®À强ÀÌ ¸Å¿ì ³ô¾Æ¼­ ¿À´Ã³¯ÀÇ ¸Åü´Â ´Ù ¼ö¿ëÇÒ ¼ö ÀÖÀ» »Ó¸¸¾Æ´Ï¶ó »õ·Î ÃâÇö ÇÒ ¸ÅüÀÇ ±â´Éµµ ÷°¡ÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖ´Ù. Java Media API´Â ´ÙÀ½°ú °°ÀÌ ¿©·¯ °¡Áö ÄÄÆ÷³ÍÆ®µé·Î ±¸¼ºµÇ¾î ÀÖ´Ù.

- Java Media Framework APIs

- Java Collaboration API

- Java Telephony API

- Java Speech API

- Java Animation API

- Java 2D API

- Java 3D API

¾Æ. Java Magement APIs

Java Magement API´Â ÀÎÅͳݻ󿡼­ ±â¾÷ ³×Æ®¿öÅ©¸¦ °ü¸®ÇÒ ¼ö ÀÖ´Â ¾ÖÇø´À» ¸¸µå´Âµ¥ ÇÊ¿äÇÑ Java °´Ã¼¿Í ¸Þ½îµå¸¦ ¸ð¾Æ³õÀº Ŭ·¡½º·Î¼­ ´ÙÀ½°ú °°Àº ¿©·¯ °¡Áö ÄÄÆ÷³ÍÆ®µé·Î ±¸¼ºµÈ´Ù.

- Admin View Module : À¥ ºê¶ó¿ìÀú ÇÏÀÌÆÛÅØ½ºÆ®»ó¿¡¼­ »ç¿ëÀÚ ¸ðµ¨ ±¸Çö Áö¿ø

- Base Object Interface : ±â¾÷ÀÇ ºÐ»êµÈ ÀÚ¿ø°ú ¼­ºñ½º¸¦ ³ªÅ¸³»´Â °´Ã¼ ±¸¼º

- Managed Notification Interfaces : À̺¥Æ® °ü¸® ¼­ºñ½º ±¸¼º

- Managed Container Interfaces : °ü¸® ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ °ü¸®´ë»óÀÌ µÇ´Â °´Ã¼µéÀ» ±×·ìÀ¸·Î ¹­´Â ±â´É

- Managed Data Interfaces : Base Object Interfaces¸¦ °ü°èÇü µ¥ÀÌÅͺ£À̽º·Î È®ÀåÇÒ ¶§ ¸Å ÇÎ ¼Ó¼º

- Managed Protocol Interfaces : Base Object InterfacesÀ» È®ÀåÇÒ¶§ ºÐ»ê°ú º¸¾È´É·Â ±¸Çö

- SNMP Interfaces : Base Objects°¡ ±âÁ¸ÀÇ SNMP ¿¡ÀÌÀüÆ®·ÎºÎÅÍ ¾òÀº Á¤º¸¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ°Ô Áö¿ø

ÀÚ. PersonalJavaTM APIs

PersonalJavaTM API´Â °¡Á¤À̳ª »ç¹«½Ç ¶Ç´Â À̵¿½ÃÀÇ °³ÀÎ Àåºñ¿¡¼­ ³×Æ®¿öÅ©¿Í ¿¬µ¿ÇÏ¿© ½ÇÇàµÇ´Â ÀÀ¿ëÇÁ·Î±×·¥À» °³¹ßÇϱâ À§ÇÑ Å¬·¡½º¸¦ Áö¿øÇÑ´Ù. PersonalJava¿¡ ÀûÇÕÇÑ Àåºñ·Î´Â hand-held ÄÄÇ»ÅÍ, ¼Âž ¹Ú½º, °ÔÀÓ ÄܼÖ, À̵¿¿ë Àåºñ, ½º¸¶Æ® Æù µîÀÌ ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ ÀåºñµéÀº µ¥½ºÅ©Å¾ ½Ã½ºÅÛ°ú´Â ´Þ¸® ´ÙÀ½°ú °°Àº ¿©·¯ °¡Áö Á¦¾à»çÇ×À» °¡Áö°í ÀÖ´Ù

.

. ´Ù¾çÇÑ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ±â¼ú »ç¿ë

. ÀûÀº ¿ë·®ÀÇ ¸Þ¸ð¸®¿Í È­¸é Å©±â°¡ ÀûÀº ½ºÅ©¸° »ç¿ë

. ³»ÀåÇü ÇÁ·Î¼¼¼­ »ç¿ë

. Àú¼ÒºñÀü·Â

. ºü¸¥ ÀÀ´ä½Ã°£

. ¹°¸®Àû Å©±â

PersonalJavaTM API´Â ÀÌ·¯ÇÑ Á¦¾à»çÇ×µéÀ» ÇØ°áÇÏ°í ½Ã½ºÅÛ°ü¸® ±â´ÉÀÌ ¾ø´Â ȯ°æ¿¡¼­ ÀåºñµéÀÌ µ¿ÀÛÇÒ ¼ö ÀÖµµ·Ï ÇϱâÀ§ÇÑ ±â´ÉÀ» Á¦°øÇÑ´Ù.

Ÿ. EmbeddedJavaTM APIs

EmbeddedJavaTM API´Â ÈÞ´ë Æù, ÆäÀÌÀú, ÇÁ·Î¼¼½º Á¦¾î, ¿©·¯ °¡Áö ±â±¸, »ç¹«½Ç ÁÖº¯Àåºñ, ³×Æ®¿öÅ© ¶ó¿ìÅÍ ¹× ½ºÀ§Ä¡ µîÀÇ °í¿ëÀû ³»ÀåÇü ÀåºñÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ È¿À²ÀûÀ¸·Î °³¹ßÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. EmbeddedJava API´Â ¾î¶°ÇÑ ½Ç½Ã°£ ¿î¿µÃ¼Á¦¿¡µµ ½±°Ô À̽ÄÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖÀ¸¸ç ¿©·¯ Á¾·ùÀÇ ¸¶ÀÌÅ©·ÎÇÁ·Î¼­¿¡¼­ ½ÇÇà °¡´ÉÇÏ´Ù. EmbeddedJava API¸¦ »ç¿ëÇÔÀ¸·Î½á ÄÚµå À̽ļº°ú Àç»ç¿ë¿¡ ÀÇÇØ Á¦Ç°ÀÇ ½ÃÀå ÃâÇÏ ½Ã±â¸¦ Å©°Ô ¾Õ´ç±æ ¼ö ÀÖ´Ù. ³»Àå ¼ÒÇÁÆ®¿þ¾î´Â Á¦ÇÑµÈ ÀÚ¿ø ȯ°æ¿¡¼­ ½ÇÇàµÇ¾î¾ß Çϱ⠶§¹®¿¡ ÀÀ¿ëÇÁ·Î±×·¥À» °³¹ßÇÒ ¶§´Â Á¦Ç°¿¡ µû¶ó ¿ä±¸µÇ´Â ±â´ÉÀ» ¼±ÅÃÇÏ¿© À籸¼º ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, ÆäÀÌÀú°°Àº Àåºñ´Â ÆÄÀÏ ½Ã½ºÅÛÀÌ ÇÊ¿äÇÏÁö ¾Ê±â ¶§¹®¿¡ ÆÄÀÏ ½Ã½ºÅÛÀ» Á¦°ÅÇÏ°í ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇØ¾ß µÈ´Ù. EmbeddedJava API´Â °³¹ß Á¦Ç°¿¡ µû¶ó ÃÖ¼ÒÇÑÀÇ ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ¿© °íµµÀÇ È®À强, ¸ðµâÈ­, À籸¼º Ư¼ºÀ» Á¦°øÇÑ´Ù.

3. Java ÀÀ¿ëÇÁ·Î±×·¥°ú ¾ÖÇø´

Java Ç÷§Æû¿¡¼­´Â ¾ÖÇø´(Applet)°ú ÀϹÝÀûÀÎ ¾ÖÇø®ÄÉÀ̼Ç(Application) ÇüÅÂÀÇ µÎ °¡Áö°¡ ÇÁ·Î±×·¥ÀÌ Á¸ÀçÇÑ´Ù. 'ÀÛÀº ÇÁ·Î±×·¥'À̶ó´Â ¶æÀ» °¡Áø ¾ÖÇø´Àº ½ÇÇà½Ã¿¡ ºê¶ó¿ìÀú¸¦ ÇÊ¿ä·Î ÇÏ´Â ÇÁ·Î±×·¥À¸·Î¼­ HTML ¹®¼­ ³»¿¡ Æ÷Ç﵃ ¼ö ÀÖ´Â Java ÇÁ·Î±×·¥À» °¡¸®Å°¸ç À¥ ÆäÀÌÁö ³»¿¡¼­ ½ÇÇàµÈ´Ù. Áï, .java¶õ È®ÀåÀÚ¸¦ °¡Áø Java ¼Ò½ºÄÚµå´Â .class¶õ È®ÀåÀÚ¸¦ °¡Áø ¹ÙÀÌÆ®ÄÚµå·Î ÄÄÆÄÀÏ µÇ¸ç ÀÌ ¹ÙÀÌÆ®ÄÚµå´Â Java °¡»ó¸Ó½ÅÀ» À§ÇÑ ¸í·É¾î°¡ µÈ´Ù. ¾ÖÇø´À» »ý¼ºÇϱâ À§Çؼ­´Â ÀÌ ¹ÙÀÌÆ®ÄÚµå ÆÄÀÏÀ» HTTP ¼­¹ö¿¡ º¸°üÇϰí <applet code=filename>¶õ ű׸¦ À¥ ÆäÀÌÁö¿¡ ÷°¡Çϸç ÀÌ Å±״ ¹ÙÀÌÆ®ÄÚµå ÆÄÀÏ¿¡ ´ëÇÑ ¿£Æ®¸® Æ÷ÀÎÆ®·Î ÀÌ¿ëµÈ´Ù. ÈÄ¿¡ »ç¿ëÀÚ°¡ ±× À¥ ÆäÀÌÁö¸¦ ¹æ¹®ÇÏ°Ô µÇ¸é <applet> ű׿¡ ÀÇÇØ ¼­¹ö¿¡ ÀúÀåµÈ ¹ÙÀÌÆ®ÄÚµå ÆÄÀÏÀº ³×Æ®¿öÅ©¸¦ ÅëÇØ ÃÖÁ¾ »ç¿ëÀÚÀÇ ºê¶ó¿ìÀú·Î Àü¼ÛµÇ¾î ½ÇÇàµÇ¾î Áø´Ù. ¾ÖÇø´Àº ³×Æ®¿öÅ©·ÎºÎÅÍ ´Ù¿î·ÎµåµÇ¾î »ç¿ëµÇ±â ¶§¹®¿¡ ´Ù¿î·Îµå ½Ã°£À» ÁÙÀ̱â À§ÇÏ¿© ÀϹÝÀûÀ¸·Î ÀÛÀº Å©±âÀÇ ¸ðµâÈ­ ÇüÅ·Π¸¸µé¾î Áø´Ù. ¾ÖÇø´Àº Ŭ¶óÀÌ¾ðÆ® ÂÊÀÇ ¾ÈÀü¼º°ú º¸¾ÈÀ» À§Çؼ­ ¾ÖÇø®ÄÉÀ̼ǰú´Â ´Þ¸® ´ÙÀ½°ú °°Àº Á¦¾àÁ¡À» °¡Áö°í ÀÖ´Ù.

- ¾ÖÇø´Àº Ŭ¶óÀÌ¾ðÆ® ½Ã½ºÅÛÀÇ ÆÄÀÏ¿¡ ´ëÇØ read/write¸¦ ±ÝÁöÇÑ´Ù.

- ¾ÖÇø´Àº Ŭ¶óÀÌ¾ðÆ® ½Ã½ºÅÛÀÇ ´Ù¸¥ ÇÁ·Î±×·¥À» µ¿ÀÛ½ÃŰ°Å³ª »õ·Î¿î ÇÁ·Î¼¼½º¸¦ »ý¼º½Ãų ¼ö ¾ø´Ù.

- ¾ÖÇø´Àº ¼­¹ö¸¦ Á¦¿ÜÇÑ ´Ù¸¥ È£½ºÆ®¿Í »õ·Î¿î ¿¬°áÀ» ¸¸µé¼ö ¾ø´Ù.

ÀÌ·¸°Ô ¾ÖÇø´¿¡ ´ëÇÑ Á¦ÇÑÀÌ ½ÉÇÑ °ÍÀº À¥ ÆäÀÌÁö´Â ´©±¸³ª ¹æ¹®ÇÒ ¼ö ÀÖ´Â Àå¼ÒÀ̱⠶§¹®ÀÌ´Ù.. ƯÈ÷ ¾ö°ÝÇÑ ³×Æ®¿öÅ© º¸¾È ¹®Á¦ ¶§¹®¿¡ ÀϹÝÀûÀ¸·Î ¾ÖÇø´Àº µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ´É·ÂÀÌ ¾ø´Ù. ±×·¡¼­ ¾ÆÁÖ °£´ÜÇÑ Ä«¿îÅÍ ¾ÖÇø´À» ¸¸µé·Á°í ÇØµµ ´Ù¸¥ ¾ÖÇø®ÄÉÀ̼ǿ¡ ¿äÃ»ÇØ¾ß ÇÑ´Ù. ³×Æ®¿öÅ© ±â´ÉÀ» °®´Â ´ëºÎºÐÀÇ ¾ÖÇø´µéÀº ÀÚ½ÅÀÇ µ¥ÀÌÅ͸¦ °ü¸®ÇÏ´Â ¼­¹ö ÇÁ·Î±×·¥À» ÇÊ¿ä·Î ÇÑ´Ù. ½ÇÁ¦ À¥ ¿©ÇàÀÚ°¡ º¸´Â °ÍÀº È­·ÁÇÑ ¾ÖÇø´»ÓÀÌÁö¸¸ ¾ÖÇø´ÀÇ ºÎÁ·ÇÑ ±â´ÉÀ» Á¦´ë·Î º¸¿ÏÇØÁÖ´Â Java ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿ªÇÒÀÌ Å©´Ù.

¾ÖÇø®ÄÉÀ̼ÇÀº ½ÇÇà½Ã¿¡ ºê¶ó¿ìÀú°¡ ÇÊ¿äÇÏÁö ¾ÊÀº ÇÁ·Î±×·¥À¸·Î¼­ ¾ÖÇø´°ú´Â ´Þ¸® ³×Æ®¿öÅ©·ÎºÎÅÍ ´Ù¿î·ÎµåµÇÁö ¾Ê°í ·ÎÄ®¿¡¼­ È£ÃâµÇ¾î ½ÇÇàµÈ´Ù. Java´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÓÀ¸·Î ÀÌ ¾ð¾î·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥Àº ´ç¿¬È÷ Java ¾îÇø®ÄÉÀ̼ÇÀÌ µÈ´Ù. ÀÌ·¸°Ô ±¸ÇöµÈ ¾îÇø®ÄÉÀ̼ÇÀº ÇϳªÀÇ main() ºÎºÐÀ» °¡Áö°í ÀÖÀ¸¸ç µ¶¸³ÀûÀÎ ÇÁ·Î±×·¥ÀÌ¸ç ´Ù¸¥ ¾ð¾îÀÇ ÇÁ·Î±×·¥°ú À¯»çÇÏ´Ù. À¥ ºê¶ó¿ìÀúÁßÀÇ ÇϳªÀÎ HotJava°¡ °¡Àå ³Î¸® ¾Ë·ÁÁø Java ¾ÖÇø®ÄÉÀ̼ÇÀ̸ç Java ÀÎÅÍÇÁ¸®ÅÍ, ÄÄÆÄÀÏ·¯, µð¹ö°Å µî Java °³¹ßÀ» À§ÇÑ È¯°æ µµ±¸µéµµ ¸ðµÎ Java ¾ÖÇø®ÄÉÀ̼ÇÀÌ´Ù. Java ¾ÖÇø®ÄÉÀ̼ÇÀº À¥ ÆäÀÌÁö ¾È¿¡¼­ º¼ ¼ö ¾ø°í, µ¶ÀÚÀûÀ¸·Î ½ÇÇàµÇ´Â °ÍÀ̱⠶§¹®¿¡ Ä£¼÷ÇÏÁö ¾ÊÀ» »ÓÀÌÁö, »ç½ÇÀº ¾ÖÇø´º¸´Ù ÈξÀ ¹üÀ§°¡ ³Ð´Ù. ¹Ý¸é, ÇöÀç À¥¿¡¼­ Java¸¦ »ç¿ëÇÏ´Â ´ëºÎºÐÀÇ ¹æ¹ýÀº Java ¾ÖÇø´À» ÀÛ¼ºÇÏ´Â °ÍÀÌ´Ù. Java ¾ÖÇø®ÄÉÀ̼ÇÀº ÁÖ·Î ¼­¹ö¿¡¼­ ¸¹ÀÌ »ç¿ëµÈ´Ù.

¾ÖÇø´°ú ¾ÖÇø®ÄÉÀ̼ÇÀº È£Ãâ¹æ¹ý¿¡¼­ Â÷À̰¡ ÀÖ±â´Â ÇÏÁö¸¸ ´ëºÎºÐÀÇ °æ¿ì¿¡¼­ ±â´ÉÀº °ÅÀÇ À¯»çÇÏ´Ù. ¿¹¸¦ µé¾î, ¾ÖÇø´°ú ¾ÖÇø®ÄÉÀ̼ÇÀº µÑ´Ù ¼­¹öÀÇ µ¥ÀÌÅͺ£À̽º¿Í µ¥ÀÌÅ͸¦ ¾ï¼¼½ºÇÏ¸ç ¼­¹ö¿¡ °á°ú¸¦ º¸°üÇÑ´Ù. ±×·¯³ª ·ÎÄ® ½Ã½ºÅÛÀ» ¾×¼¼½º ÇÒ¶§´Â ¾îÇø®ÄÉÀ̼ÇÀÌ ¾ÖÇø´¿¡ ºñÇØ ÀÚÀ¯µµ°¡ ³ô´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀº ·ÎÄ® µ¥ÀÌÅÍ¿¡ ´ëÇØ Á¤»óÀûÀ¸·Î read/write¸¦ ÇÒ ¼ö ÀÖ´Ù.

4. JDK(Java Development Kit)

JDK(Java Development Kit)¶õ Java °³¹ßÀÚ¸¦ À§ÇÑ È¯°æ°ú µµ±¸¸¦ ¸»ÇÑ´Ù. Áï, Java ¾ÖÇø´ °³¹ß, Java ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß, Java µð¹ö±ëÀ» À§ÇÑ ¿©·¯ °¡Áö ȯ°æÀ» Á¦°øÇÑ´Ù. JavaÀÇ °³¹ß ȯ°æÀº JDK 1.0.2 ¹öÀü¿¡¼­ ½ÃÀÛÇÏ¿© ÇöÀç JDK 1.1.4 ¹öÀü±îÁö ¹ßÇ¥µÇ¾î ÀÖ´Ù. JDK 1.0Àº ´ÙÀ½°ú °°Àº 8°³ÀÇ ÆÐŰÁö·Î ±¸¼ºÀ¸·Î µÇ¾îÀÖ´Ù.

¡Þ classes.zip : GUI¿Í ±×·¡ÇÈ ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ AWT(Abstract Window Toolkit)¸¦ Æ÷ÇÔÇÑ

°¢Á¾ ¶óÀ̺귯¸®

¡Þ javac : Java ÄÄÆÄÀÏ·¯. ÀÚ¹Ù Äڵ带 ¹ÙÀÌÆ®ÄÚµå(Áß°£ÄÚµå)·Î ÄÄÆÄÀÏÇØ ÁÜ

¡Þ java : Java ÀÎÅÍÇÁ¸®ÅÍ. javac·Î ÄÄÆÄÀÏµÈ ¹ÙÀÌÆ®Äڵ带 ½ÇÇàÇÔ

¡Þ jdb : Java ÇÁ·Î±×·¥À» µð¹ö±ëÇÒ ¼ö ÀÖ´Â Ä¿¸Çµå ¶óÀÎ µð¹ö°Å

¡Þ javah : Java Ŭ·¡½º·ÎºÎÅÍ C Çì´õÆÄÀϰú C stubÆÄÀÏÀ» ¸¸µé¾î ÁÖ´Â µµ±¸

À̸¦ ÅëÇØ Java ÄÚµå¿Í C Äڵ带 ¿¬°áÇÒ ¼ö ÀÖ½¿

¡Þ javap : ÄÄÆÄÀÏµÈ Java ÆÄÀÏÀ» µð½º¾î¼ÀºíÇØ ÁÖ´Â µµ±¸

¡Þ javadoc : Java ¼Ò½º ÄÚµå·ÎºÎÅÍ HTML ÇüÅÂÀÇ API¹®¼­¸¦ ¸¸µé¾î ÁÜ

¡Þ appletviewer : À¥ºê¶ó¿ìÀú ¾øÀÌ ¾ÖÇø´À» ½ÇÇàÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â µµ±¸

JDK 1.1 ¹öÀüÀº JDK 1.0 ¹öÀü¿¡ ºñÇØ ±â´ÉÀûÀÎ ¸é¿¡¼­³ª ¾çÀûÀÎ ¸é¿¡¼­ ¾öû³­ ¹ßÀüÀ» °¡Á®¿Ô´Ù. JDK 1.1 ¹öÀü¿¡´Â ÇÁ·Î±×·¥ °³¹ßÀÚ³ª ÀÌ¿ëÀÚ°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ±â´ÉÀÌ ¸¹ÀÌ Ãß°¡µÇ¾î Àֱ⠶§¹®¿¡ JDK 1.1 ¹öÀü¿¡¼­ Á¦°øÇÏ´Â ±â´ÉÀ» Àß È°¿ëÇϸé ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ºÎ´ãÀÌ ÈξÀ ÁÙ¾îµé ¼ö ÀÖ´Ù. ½ã »Ó¸¸ ¾Æ´Ï¶ó ¸¹Àº ¼ÒÇÁÆ®¿þ¾î °³¹ß¾÷üµéÀÌ °è¼ÓÀûÀ¸·Î JDK ±â´É º¸°­À» À§ÇØ ³ë·ÂÇϰí Àֱ⠶§¹®¿¡ ÇâÈÄ¿¡´Â ÇÁ·Î±×·¡¹ÖÀÇ ÃÖ¼ÒÈ­¸¦ ÅëÇÑ ¼ÒÇÁÆ®¿þ¾î »ý»ê¼ºÀÇ ±Ø´ëÈ­°¡ °ð ´Þ¼ºµÉ °ÍÀ¸·Î Àü¸ÁµÈ´Ù. µû¶ó¼­ JDK ¹öÀü°»½Å¿¡ µû¸¥ JDK ±â´Éº¯È­ÀÇ °è¼ÓÀûÀÎ ÃßÀûÀÌ ¸Å¿ì Áß¿äÇÏ´Ù.

V. Java ±â¼ú °ü·Ã ½ÃÀå µ¿Çâ

Java ÄÄÇ»ÆÃ ±â¼úÀº ´Ü¼ø¼º, º¸¾È¼º, ½Å·Ú¼º, ÀûÀÀ¼º µîÀÇ Æ¯¼º ¶§¹®¿¡ ´ëÇü ÄÄÇ»ÅͷκÎÅÍ ½º¸¶Æ® Ä«µå¿¡ À̸£±â±îÁö ±× Àû¿ë ¹üÀ§°¡ Å©°Ô È®´ëµÇ¸é¼­ ´Ù¾çÇÑ Á¦Ç°°ú ¼­ºñ½º ½ÃÀå¿¡ Å« º¯È­°¡ ¿¹°íµÇ°í ÀÖ´Ù. ´ÙÀ½¿¡ ±â¾÷ ÄÄÇ»ÆÃ ȯ°æ ±¸Ãà¿¡ ÇÙ½É ¿ä¼Ò·Î µîÀåÇÒ thin Ŭ¶óÀ̾ðÆ®, °¡ÀüÁ¦Ç° ¹× ³×Æ®¿öÅ© ±â±â¸¦ À§ÇÑ ³»ÀåÇü ½Ã½ºÅÛ, Java Ĩ, Java ½º¸¶Æ® Ä«µå µî¿¡ ´ëÇÑ ½ÃÀå µ¿ÇâÀ» »ìÆìº»´Ù.

1. Java ±â¹Ý thin Ŭ¶óÀ̾ðÆ®

Thin Ŭ¶óÀÌ¾ðÆ® °³³äÀÇ ³×Æ®¿öÅ© ÄÄÇ»ÅÍ´Â µ¥½ºÅ©Å¾À» °ü¸®ÇÏ´Â ºñ¿ë ¸é¿¡¼­´Â Àú·ÅÇϰí ÀÎÅͳݰú ÀÛ¾÷¿¡ ÇÊ¿äÇÑ µ¥ÀÌÅ͸¸ ´Ù¿î·Îµå ÇÏ¿© ÀÛ¾÷À» ¼öÇàÇÏ´Â ½ÇÇàÄÚµåÀÇ À̵¿ÀÌ °¡´ÉÇÑ Java ÄÄÆ÷³ÍÆ® ±â¼ú·Î ÀÎÇØ ±â´É ¸é¿¡¼­´Â ¶Ù¾î³­ ¼º´ÉÀ» Á¦°øÇÑ´Ù.

Java ÄÄÇ»ÆÃÀº µ¥½ºÅ©Å¾ PC¿¡ ºñÇØ Çϵå¿þ¾î/¼ÒÇÁÆ®¿þ¾î ±¸ÀԽà ºñ¿ëÀ» Àý°¨Çϰí, µ¥½ºÅ©Å¾¿¡ ºñÇØ º¹À⼺ÀÌ ÁÙ¾îµç´Ù. Áï, ¸ðµç ¿î¿µÃ¼Á¦¿Í µ¥ÀÌÅͰ¡ ¼­¹ö¿¡ ÀúÀåµÇ°í, ¼­¹ö¿¡¼­ ¸ðµç ¼ÒÇÁÆ®¿þ¾îÀÇ °»½ÅÇÏ°í ½Ã½ºÅÛÀ» °ü¸®ÇÔÀ¸·Î °¢ Ŭ¶óÀÌ¾ðÆ® È£½ºÆ®ÀÇ Áö¿ø ÇϺα¸Á¶°¡ Àû¾îÁüÀ¸·Î °¢ Ŭ¶óÀÌ¾ðÆ® »ç¿ëÀÚÀÇ À¯Áöºñ¿ëÀÌ Àý°¨µÈ´Ù. ¶ÇÇÑ ³×Æ®¿öÅ© ÄÄÇ»ÅÍÀÇ Àå¾Ö ¹ß»ý½Ã ½Ã½ºÅÛ ±³È¯À» ÅëÇØ ½Å¼ÓÈ÷ ÇØ°áÇϰí Áö¿ø ´ë»ó Ç÷§Æû ¼ö°¡ °¨¼ÒµÇ¾î °ü¸®ºñ¿ëÀ» Àý°¨ÇÒ ¼ö ÀÖÀ¸¸ç, "Write Once, Run AnywhereTM"·Î ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °³¹ßºñ¿ëÀ» Àý°¨Çϸç, ³×Æ®¿öÅ© º¸¾ÈÀÇ º¹À⼺À» ÁÙ¿© Àú°¡ÀÇ °í¼º´É Ŭ¶óÀÌ¾ðÆ®¸¦ ¸¸µé ¼ö ÀÖ´Ù.

Gartner Group¿¡ µû¸£¸é, ¼ÒÇÁÆ®¿þ¾î ±¸¸Å ºñ¿ë, ¼ÒÇÁÆ®¿þ¾î °»½Å, ¼³Ä¡, ±â¼ú Áö¿ø µîÀ» Æ÷ÇÔÇÑ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì ±â¹ÝÀÇ ³×Æ®¿öÅ© PC¸¦ ¼ÒÀ¯ÇÏ´Â Àüü ºñ¿ëÀÌ °ÅÀÇ ¸Å³â 12,000´Þ·¯¿¡ À̸£°í ÀÖÀ¸¸ç, Java ÄÄÇ»ÆÃÀ» Áö¿øÇÏ´Â thin Ŭ¶óÀÌ¾ðÆ®´Â ´ÜÁö 2,500´Þ·¯ Á¤µµ·Î ¿¹ÃøÇÏ¿´´Ù.

ÀÌ·¸°Ô Java ±â¹Ý thin Ŭ¶óÀÌ¾ðÆ®´Â ¿©·¯ °¡Áö ÀåÁ¡À» °¡Áö°í ÀÖÀ¸¹Ç·Î ¿©·¯ ¾÷ü¿¡¼­´Â Java ±â¹Ý Ŭ¶óÀÌ¾ðÆ®¸¦ °³¹ßÇϰí ÀÖÀ¸¸ç ±× Ȱ¿ëµµ°¡ ¸Å¿ì Áõ°¡ÇÒ °ÍÀ¸·Î ¿¹ÃøµÈ´Ù. ±Ù·¡¿¡ IBMÀº Java °¡»ó ¸Ó½Å(JVM)À» žÀçÇÑ IBM Network Station Series 300°ú Series 1000À» ¹ßÇ¥ÇÏ¿´´Ù. Hitachi´Â ´Ù¾çÇÑ Á¾·ùÀÇ ¼­¹ö¿¡ ¿î¿ëµÉ ¼ö ÀÖ°í NetscapeÀÇ Navigator, ´Ù¾çÇÑ Java °¡»ó¸Ó½Å, UNIX¿Í ¿£ÅÍÇÁ¶óÀÌÁî ¼­¹ö¸¦ Áö¿øÇÏ´Â 700´Þ·¯ ¹Ì¸¸ÀÇ ultra-thin desktopÀÎ Neoware SystemsÀ» °ø°³ÇÏ¿´´Ù. ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â WBT(Windows-Based Terminal)¸¦ ³×Æ®¿öÅ© ÄÄÇ»ÅÍÀÇ ´ë¾ÈÀ¸·Î Á¦½ÃÇÏ¿´´Ù. WBT´Â ·ÎÄ® ¿î¿µÃ¼Á¦·Î Windows CE¸¦ žÀçÇϰí ÀÖÀ¸¸ç Java °¡»ó¸Ó½Å°ú ºê¶ó¿ìÀú°¡ Windows NT ¼­¹ö¿¡¼­ ¿î¿ëµÉ °ÍÀ¸·Î º¸ÀδÙ. ±×¹Û¿¡µµ HP, Tektronix, NCD µîÀÌ ultra-thin client ±â¼úÀ» ¹ÙÅÁÀ¸·Î ³×Æ®¿öÅ© ÄÄÇ»Å͸¦ Ãâ½ÃÇÒ ¿¹Á¤ÀÌ´Ù.

IDCÀÇ ÀÚ·á¿¡ µû¸£¸é PC°¡ 1997³â ¸»±îÁö ÀÎÅͳݿ¡ 8õ 2¹é¸¸´ë, 2001³â¿¡´Â ¿¬ 34% Áõ°¡ÇÏ¿© 2¾ï 6õ 8¸¸´ë°¡ ¿¬°áµÉ °ÍÀ¸·Î ¿¹ÃøµÇ³ª, ³×Æ®¿öÅ© ÄÄÇ»ÅÍ, NetTV µîÀÇ ³×Æ®¿öÅ© ÄÄÇ»ÆÃ ½ÃÀåÀº ±×¸² 7°ú °°ÀÌ ¸Å¿ì ³ô¾Æ¼­ ¿¬Æò±Õ 100% ÀÌ»óÀ¸·Î ¼ºÀåÇÏ¿© Àüü ½ÃÀåÀÇ 35%¸¦ Á¡À¯ÇÒ °ÍÀ¸·Î ¿¹»óÇϰí ÀÖ´Ù.

±×¸² 7. NC Ŭ¶óÀÌ¾ðÆ® ½ÃÀå µ¿Çâ

2. °¡ÀüÁ¦Ç° ¹× Á¤º¸ ´Ü¸»±â¸¦ À§ÇÑ PersonalJava/EmbeddedJava

EmbeddedJava´Â ¸ðºô Æù, ÆäÀÌÀú, °øÀå ÀÚµ¿È­ Àåºñ, ³×Æ®¿÷ ¶ó¿ìÅÍ, ÇÁ¸°ÅÍ µî°ú °°ÀÌ Á¦ÇÑµÈ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ °¡Áö´Â ÀúÀü·Â ¶Ç´Â À̵¿Çü µð¹ÙÀ̽º °³¹ßÀ» À§ÇØ Java ÄÄÇ»ÆÃ ±â¼úÀ» Á¦°øÇϰí, PersonalJava´Â À¥ºê¶ó¿ì¡ Æù, PDA, ¼ÂÅé¹Ú½º µî°ú °°ÀÌ ³×Æ®¿öÅ· ±â´ÉÀ» °¡Áö¸ç À¥»ó¿¡¼­ ¾ÖÇø´¿¡ ´ëÇÑ È£È¯¼ºÀ» ¿ä±¸ÇÏÁö¸¸ ¿ÏÀüÇÑ ¿£ÅÍÇÁ¶óÀÌÁî ¼­ºñ½º¸¦ ¿ä±¸ÇÏÁö ¾Ê´Â Çϵå¿þ¾îÀûÀÎ Á¦¾àÀ» °®´Â µð¹ÙÀ̽º °³¹ßÀ» À§ÇØ Java ÄÄÇ»ÆÃ ±â¼úÀ» Áö¿øÇÑ´Ù. ÇöÀç ¸¹Àº ȸ»çµéÀÌ PersonalJava/EmbeddedJava ±â¼úÀ» ¶óÀ̼¾½ºÇÏ¿© ÀÚ»ç ½Ã½ºÅÛÀ» °³¹ßÇϰí ÀÖÀ¸¸ç ÀÌ·¯ÇÑ Ãß¼¼´Â ´õ¿í ´Ã¾î³¯ Àü¸ÁÀÌ´Ù.

¹Ì¾²ºñ½Ã¿Í UCSC(University of California, Santa Cruz)¿¡¼­´Â ½ãÀÇ EmbeddedJava/ PersonalJava ±â¼úÀÌ ±¸Ã¼È­µÇ±â Àü¿¡ ÀÌ¹Ì Java ±â¼úÀ» Àû¿ëÇÏ¿© ³»ÀåÇü ½Ã½ºÅÛÀ» °³¹ßÇÏ¿´À¸¸ç ÃÖ±Ù¿¡ Acorn, Chorus, GeoWorks, Lucent Technologies, Microtec, Microware], QNX, WindRiver µîÀÇ ½Ç½Ã°£ ¿î¿µÃ¼Á¦ ¾÷üµéÀÌ ½ãÀÇ EmbeddedJava¿Í PersonalJava¸¦ ¶óÀ̼¾½ºÇÔÀ¸·Î½á °¢ ȸ»çÀÇ ½Ç½Ã°£ Ç÷§Æû°ú EmbeddedJava¿Í PersonalJava¸¦ ÅëÇÕÇÏ¿© EmbeddedJava¿Í PersonalJava¸¦ ÆÇ¸ÅÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. EmbeddedJava¿Í PersonalJava¸¦ ¶óÀ̼¾½ºÇÑ ¾÷üµéÀÇ ½ÃÀå Á¡À¯À²ÀÌ Àüü »ó¿ë ½Ç½Ã°£ ¿î¿µÃ¼Á¦ ½ÃÀåÀÇ 50% ÀÌ»óÀ» Â÷ÁöÇϰí ÀÖÀ½À» º¼ ¶§ ÇâÈÄ¿¡´Â ½Ç½Ã°£ ¿î¿µÃ¼Á¦¿Í Java ±â¼úÀÌ ÅëÇÕµÈ ³»ÀåÇü ½Ã½ºÅÛÀÇ ½ÃÀå Á¡À¯À²ÀÌ ¸Å¿ì ³ô¾ÆÁú °ÍÀ¸·Î º¸ÀδÙ. ÁÖ¸ñÇÒ ¸¸ÇÑ °ÍÀº ½ãÀÌ 1997³â »ó¹Ý±â¿¡ ÀμöÇÑ Á¤º¸±â±â °³¹ß ¾÷üÀÎ Diba°¡ Microware»ç¿Í Çù·Â°ü°è¸¦ ¸Î°í ÀÖ°í 1997³â 9¿ù¿¡ Chorus»ç¸¦ ÀμöÇÔÀ¸·Î½á ½ãµµ ³»ÀåÇü ½Ç½Ã°£ ½Ã½ºÅÛ ½ÃÀå¿¡ Á÷Á¢ ÁøÃâÇϰí ÀÖ´Ù´Â Á¡ÀÌ´Ù.

¹ÌÂêºñ½Ã´Â EmbeddedJava/PersonalJava ±â¼úÀÌ ±¸Ã¼È­µÇ±â Àü¿¡ Java ±â¼úÀ» M32R/D¿¡ Àû¿ëÇÏ¿© Á¦Ç°À» °³¹ßÇÏ¿© ¿ÔÀ¸³ª ÃÖ±Ù¿¡´Â EmbeddedJava/PersonalJava ±â¼úÀ» äÅÃÇϱâ·Î °áÁ¤ÇÏ¿´´Ù. ¹ÌÂêºñ½Ã´Â EmbeddedJava/PersonalJava ±â¼úÀ» M32R/D¿¡ Àû¿ëÇÏ¿© ÀÏÂ÷ÀûÀ¸·Î ÀúÀü·ÂÀ» »ç¿ëÇÏ´Â À̵¿Çü handheld ½Ã½ºÅÛÀÎ PDA, PIC, Data Pager, ¹«¼± Smart Phone µîÀ» °³¹ßÇÒ ¿¹Á¤ÀÌ¸ç ¶ÇÇÑ ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ Á¦¾î±â, µðÁöÅÐ ½ºÆ¿ Ä«¸Þ¶ó, Ç×¹ý ½Ã½ºÅÛ, TV/VCRÀÇ GUI, ºñµð¿À °ÔÀÓ µî°ú °°ÀÌ °í¼º´É°ú ³ôÀº ´ë¿ªÆøÀ» ÇÊ¿ä·Î ÇÏ´Â Åë½Å ¹× ±×·¡ÇÈ Á¦¾î±â¿¡µµ °³¹ßÇÒ °èȹÀÌ´Ù. Åë½Å ȸ»çÀÎ Alcatel, Nortel ¹× »ï¼ºµµ ÃÖ±Ù¿¡ PersonalJava¸¦ ±×µéÀÇ »õ·Î¿î À¥Æù Á¦Ç°¿¡ °áÇÕ½Ã۱â·Î °øÇ¥ÇÏ¿´À¸¸ç, ÀÌ ¼¼ ȸ»ç´Â ¿¬°£ 1,100¾ïºÒÀÇ À¥Æù ½ÃÀåÀ» Á¡À¯ÇÒ °ÍÀ¸·Î ¿¹ÃøµÈ´Ù.

3. Java Ĩ(Chip)

Java ĨÀº HPC, »ß»ß, ÆÊž, PDA µî Á¤º¸´Ü¸»±â µî°ú ¼Âž¹Ú½º, ÈÞ´ë¿ë ÀüÈ­±â µî¿¡ ³»ÀåµÇ¾î Java Äڵ尡 Á÷Á¢ ½ÇÇàµÈ´Ù. À̸¦ À§ÇØ, ½ãÀº Java Ç÷§ÆûÀ» ¹ÝµµÃ¼¿¡ À̽ÄÇÏ´Â ±â¼ú¿¡ ¿ªÁ¡À» µÎ°í ÀÖÀ¸¸ç, Java ÇÁ·Î¼¼¼­´Â ¼º´É°ú ºñ¿ë ¸é¿¡¼­ ±âÁ¸ÀÇ ¹ü¿ë ÇÁ·Î¼¼¼­¸¦ ´É°¡Çϰí ÀÖ´Ù. LG ¹ÝµµÃ¼¸¦ ºñ·ÔÇÑ ¸î¸î ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­ ȸ»çµéÀº ƯȭµÈ Java ĨÀ» »ý»êÇϰųª Java¸¦ À§ÇÑ ÃÖÀûÀÇ Ä¨À» °³¹ß Áß¿¡ ÀÖ´Ù. ¹°·Ð ½ãÀº picoJavaÀÇ ÇÙ½É ÄÚ¾î(core)¸¦ ³»ÀåÇÑ microJava ĨÀ» °³¹ßÇϰí ÀÖ´Ù.

Java ĨÀº ³×Æ®¿öÅ© ±â±â, ³×Æ®¿öÅ© ÄÄÇ»ÅÍ, 3D Àü¿ë ±×·¡ÇÈ ÄÄÇ»ÅÍ, °ÔÀӱ⠵µµ Àû¿ëµÉ °ÍÀ¸·Î ¿¹ÃøµÈ´Ù. National ¹ÝµµÃ¼´Â C¿Í Java ¸ðµÎ¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Â Àú°¡ÀÇ ÃÖÀûÈ­µÈ NS486À» °³¹ßÇÏ¿´°í DECÀº Java ÇÁ·Î¼¼¼­·Î¼­ StrongArmÀ» ÆÇ¸ÅÁßÀ̸ç ÃÖ±Ù¿¡´Â Patriot ScientificÀÌ °í¿ë·® ³»ÀåÇü ÀÀ¿ëÇÁ·Î±×·¥À» À§ÇÑ PSC1000À» ³» ³õ¾Ò´Ù. PSC1000Àº 4±â°¡ ¹ÙÀÌÆ®ÀÇ ¸Þ¸ð¸®¿Í °¡»ó ¸Þ¸ð¸®¸¦ Áö¿øÇϸç 1000 MIPSÀÇ ¼º´ÉÀ» °¡Áø 32ºñÆ® 100MHz RISC ÇÁ·Î¼¼¼­ÀÌ´Ù. ÇöÀç PSC1000Àº picoJava ³ª microJava ó·³ Á÷Á¢ Java ¸í·É¾î¸¦ ¼öÇàÇÏÁö´Â ¾ÊÁö¸¸ PSC1000 C ÄÄÆÄÀÏ·¯¿¡ °áÇÕµÈ JIT(Just-In-Time) ÄÄÆÄÀÏ·¯¸¦ °³¹ßÇϱâ À§ÇØ JavaSoft¿Í °øµ¿À¸·Î ÀÛ¾÷À» ¼öÇàÇϰí ÀÖ´Ù. µðÁöÅÐ °¡ÀüÁ¦Ç°¿ë ¹ÝµµÃ¼½ÃÀåÀº µðÁöÅÐ °¡ÀüÁ¦Ç°¿ë ¹ÝµµÃ¼, ¼ÂÅé¹Ú½º, DVD, ºñµð¿À °ÔÀӱ⠵î Â÷¼¼´ë °¡Àü¿ë ¹ÝµµÃ¼ µîÀÇ ¼ö¿ä È®´ë·Î 1997³â¿¡ 270¾ï´Þ·¯, 2000³â¿¡ 450¾ï´Þ·¯¸¦ ±â·ÏÇÒ Àü¸ÁÀ̸ç, ³»ÀåÇü ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­ ½ÃÀåÀº 2000³â±îÁö ¿¬Æò±Õ 12%¾¿ ¼ºÀå, Áö³­ 1995³â 18¾ï ´Þ·¯¿´´ø ½ÃÀåÀÌ 21¼¼±âÃÊ¿¡´Â 33¾ï ´Þ·¯·Î È®´ëµÉ °ÍÀ¸·Î Àü¸ÁÀÌ´Ù[14].

4. ½º¸¶Æ®Ä«µå

1997³â ÇϹݱ⿡ JavaSoft´Â Java ±â¹ÝÀÇ ½º¸¶Æ®Ä«µå¿Í °³Àοë ÀüÀÚÁ¦Ç°¿¡ ´ëÇÑ Ç¥ÁؾÈÀÎ JavaCard 2.0 »ç¾çÀ» ÀÎÅÍ³Ý ÀÀ¿ë ÇÁ·Î±×·¥°ú µ¥½ºÅ©Å¾¿¡ ¿¬µ¿ µÉ ½º¸¶Æ®Ä«µåÀÇ °øÅë API·Î¼­ °³¹ßÀڵ鿡°Ô Á¦°øÇÒ ¿¹Á¤ÀÌ´Ù. ÀÌµé °øÅë API¿¡¼­´Â Java ½ÇÇà½Ã°£ ¶óÀ̺귯¸®¿Í VM ¹× ƯÁ¤ API¸¦ Á¦°øÇϹǷΠ½º¸¶Æ®Ä«µå¿¡ Java¸¦ ¿î¿ëÇÒ ¼ö ÀÖ´Ù. JavaCard 2.0 »ç¾çÀº 16ºñÆ®¿Í 32ºñÆ® Ä«µå Ĩ, Ä«µå ÆÇµ¶±â ÀÎÅÍÆäÀ̽º, ¾ÖÇø´ ·Îµù, °³¼±µÈ ÀÎÁõ µîÀ» Áö¿øÇÑ´Ù[2]. IBM°ú Ä«µå Á¦Á¶¾÷üÀÎ Gemplus´Â ½º¸¶Æ®Ä«µå¿Í ÀÀ¿ëÇÁ·Î±×·¥ÀÇ °³¹ß ¹× ÆÇ¸Å¸¦ Çù·ÂÇϱâ·Î ÇÏ¿´´Ù. ÀÌ ÇùÁ¤¿¡¼­ ¾ç »ç´Â ÀüÀÚ»ó°Å·¡¸¦ À§ÇÑ ´Ù¾çÇÑ ÀÀ¿ë½º¸¶Æ®Ä«µå¿Í ÀÀ¿ë¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßŰ·Î ÇÕÀÇÇÏ¿´´Ù. Gemplus´Â ¶ÇÇÑ JavaCard API¿¡ ÀûÇÕÇÑ °øÅë ¿î¿µÃ¼Á¦¿Í ÀÀ¿ëÇÁ·Î±×·¥ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÏ¿© Schlumberger Electronic Transactions¿Í Çù·ÂÀ» Çϰí ÀÖ´Ù. Siemens AGÀÇ °è¿­È¸»çÀÎ Siemens ¹ÝµµÃ¼´Â ÀüÀÚ»ó°Å·¡, À̵¿ÄÄÇ»ÆÃ°ú ¿ø°ÝÁø·á µîÀ» Æ÷ÇÔÇÏ´Â ´Ù¾çÇÑ ÀÀ¿ë ¹üÀ§¿¡¼­ »ç¿ëÇÒ Â÷¼¼´ë ½º¸¶Æ®Ä«µå¿¡ žÀçµÉ »õ·Î¿î ÄÄÇ»ÅÍ Ä¨À» °³¹ßÇϱâ À§ÇÑ ÀÏȯÀ¸·Î ½ã°ú Java ¶óÀ̼¾½º °è¾àÀ» ÃßÁøÇϱâ·Î ¹ßÇ¥ÇÏ¿´´Ù. »õ·Î¿î ĨÀ» ±â¹ÝÀ¸·ÎÇÑ ½º¸¶Æ®Ä«µå´Â 1998³â Á߹ݿ¡ ¾ç»êµÉ °èȹÀ¸·Î ÀÖ´Ù.

½º¸¶Æ®Ä«µå´Â ÀüÀÚ»ó°Å·¡ Ȱ¼ºÈ­¿¡ °¡Àå Áß¿äÇÑ ±â¼ú ¿ä¼ÒÀÌ´Ù. ¶ÇÇÑ Forrester Research´Â 150°³ÀÇ ¹Ì±¹ ÁÖ¿ä±â¾÷À» ´ë»óÀ¸·Î ¿¬±¸ÇÑ º¸°í¼­¸¦ ÅëÇØ ÀÎÅͳÝÀ» ÀÌ¿ëÇÑ ±â¾÷°£ »ó°Å·¡ ½ÃÀå±Ô¸ð´Â 1997³â¿¡ 80¾ï´Þ·¯¿¡ ´ÞÇÏ´Â ÇÑÆí 5³âÈÄÀÎ 2002³â¿¡´Â ¿Â¶óÀÎ ÀÔÂûÀ̳ª °æ¸Å, ÀüÀÚ Ä«Å»·Î±× µîÀÇ ÀÌ¿ëÈ®´ë¿¡ ÈûÀÔ¾î 3,270¾ï´Þ·¯·Î Áõ°¡ÇÒ °ÍÀ¸·Î Àü¸ÁÇß´Ù. Jupitor Communications´Â 2000³â ¿Â¶óÀÎ °Å·¡ ÁöºÒ ¼ö´ÜÀ¸·Î ÀüÀÚÈ­Æó 41%, ½º¸¶Æ®Ä«µå 26%, ½Å¿ëÄ«µå 17%, ÀüÀÚ¼öÇ¥ 13%, ±âŸ 3%¸¦ Â÷ÁöÇÒ °ÍÀ¸·Î ¿¹»óÇÏ¿´À¸¸ç, ½º¸¶Æ® Ä«µå, ÀüÀÚ È­Æó, ÀüÀÚ ¼öÇ¥°¡ 73¾ï´Þ·¯ÀÇ ¿Â¶óÀÎ »ó°Å·¡ ÁöºÒ ¼ö´ÜÀÇ °ÅÀÇ Àý¹ÝÀ» Â÷ÁöÇÒ °ÍÀ¸·Î Àü¸ÁÇÏ¿´´Ù.

Killen & Associates»ç¿¡ ÀÇÇϸé, ½º¸¶Æ®Ä«µå ½ÃÀåÀÌ 1996³â¿¡ 12¾ï´Þ·¯¿¡¼­ 2000³â¿¡ 76¾ï´Þ·¯, Æò±ÕÀûÀ¸·Î ¸Å³â 16%¾¿ Áõ°¡ÇÏ¿© 2005³â¿¡ 160¾ï´Þ·¯·Î Àü¸ÁÇϰí ÀÖ´Ù.

VI. °á·Ð

º» °í¿¡¼­´Â Java ±â¼úÀÇ µîÀå ¹è°æ°ú Java ±â¼úÀÇ ¿ª»ç¸¦ »ìÆìº¸°í Java ±â¼úÀÇ Æ¯¼ºÀ» »ìÆìº¸¾Ò´Ù. ¶ÇÇÑ ÇÙ½ÉÀûÀÎ Java ±â¼ú·Î¼­ Java ¿î¿µÃ¼Á¦, Java °¡»ó¸Ó½ÅÀ» »ìÆìº¸°í, ¿©·¯ °¡Áö Java ±â¹Ý API¿Í Java ±â¼ú °ü·Ã ½ÃÀå µ¿ÇâÀ» »ìÆìº¸¾Ò´Ù.

Java´Â ÇöÀç ÀÎÅͳݻóÀÇ Â÷¼¼´ë °´Ã¼ÁöÇâ ¾ð¾î·Î¼­ »ç½Ç»ó ÀÎÅÍ³Ý ±¹Á¦ Ç¥Áؾð¾îÀÇ ¿ªÇÒÀ» ÇÑ´Ù°í ÇØµµ °ú¾ðÀÌ ¾Æ´Ï´Ù. ¿ùµå ¿ÍÀ̵å À¥ºê¶ó¿ìÀúÀÇ 75% ÀÌ»óÀ» Á¡À¯Çϰí ÀÖ´Â Netscape¿¡¼­ Java¸¦ »ç¿ëÇϰí ÀÖÀ¸¸ç, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®»çµµ ÀÚ»çÀÇ ÀÎÅÍ³Ý Ç¥ÁØÀ¸·Î Java¸¦ äÅÃÇϰí ÀÖ´Ù. ¶ÇÇÑ ½Ç¸®ÄÜ ±×·¡ÇȽº¿Í ½ã ¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî´Â Â÷¼¼´ë °¡»óÇö½Ç ¸ðµ¨¸µ ¾ð¾îÀÎ VRML(Virtual Reality Modeling Language)¸¦ Java¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖµµ·Ï °è¾àÀ» ü°áÇÏ¿´´Ù. À̹ۿ¡ IBM, SGI, Toshiba, Oracle, Boland, Adobe, Macromedia, Spyglass µîµµ Java ¶óÀ̼¾½º¸¦ °è¾àÇÏ¿© ÀÚ»ç Á¦Ç°¿¡ Java¸¦ Áö¿øÇÑ »õ·Î¿î Á¦Ç°À» ÇöÀç °³¹ßÁßÀ̸ç, Java ½ºÅ©¸³Æ® ¿ª½Ã ¾à 25°³ÀÇ È¸»çµéÀÌ °øµ¿À¸·Î °è¾àÀ» ü°áÇѹ٠ÀÖ´Ù. ÀÌ¿Í °°Àº Çö»óÀº ÀÎÅͳÝÀÇ ¹Ì·¡°¡ °ð Java·Î ÀÎÇØ °áÁ¤µÈ´Ù´Â °ÍÀ» º¸¿©ÁÖ´Â ÇÑ ´Ü¸éÀ̶ó°í ÇϰڴÙ.

1¹é¸¸ Ä«ÇÇ ÀÌ»óÀÇ JDK°¡ ÀÎÅͳÝÀ» ÅëÇÏ¿© ºÐ¹è µÇ¾ú°í 1,000°³ ÀÌ»óÀÇ Java ±â¹Ý ¼ÒÇÁÆ®¿þ¾î°¡ »óǰȭ µÇ¾ú°í ½Ã½ºÅÛ°øÇבּ¸¼Ò, IBM, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®, Oracle µî ¼¼°è À¯¼öÀÇ H/W, S/W ¾÷ü ¹× ¿¬±¸¼Ò µî 150¿©°³ ÀÌ»óÀÇ ±â°ü¿¡¼­ °ø½ÄÀûÀÎ ¶óÀ̼¾½º °è¾àÀ» ü°áÇÏ¿´´Ù. ÃʱâÀÇ ¿ùµå ¿ÍÀ̵å À¥¿¡¼­ µ¿Àû Áö¿øÀ¸·Î °¢±¤À» ¹Þ±â ½ÃÀÛÇÏ¿© ÃÖ»óÀÇ ÀÎÅÍ³Ý ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼­ ÀÎÁ¤À» ¹Þ°ÔµÈ Java´Â Java Ĩ, PersonalJava, EmbeddedJava, JavaCard µîÀÇ °³¹ßÀÌ ¿Ï·áµÇ´Â '97³â ¸»°æ¿¡´Â ±× ±â¼ú ¹üÀ§°¡ ³×Æ®¿öÅ©À» ±â¹ÝÀ¸·ÎÇÑ °¡Á¤¿ë ÀüÀÚÁ¦Ç°, PDA µîÀÇ Á¤º¸Åë½Å ´Ü¸»±â·Î È®´ëµÇ¾î Ȱ¿ëµÉ °ÍÀ¸·Î ¿¹Ãø µÈ´Ù.

JavaÀÇ °´Ã¼ ÁöÇâ, Ç÷§Æû Á߸³¼º, ¸ÖƼ¾²·¹µù, ºÐ»êó¸® Ư¼ºÀº ÀÌÁ¦ ÀÎÅͳݻóÀÇ ¸ÖƼ¹Ìµð¾î ±¸ÇöÀ» ¿ëÀÌÇÑ ÇÁ·Î±×·¡¹Ö ȯ°æÀ» Á¦°øÇÑ´Ù. ƯÈ÷, ÀÎÅͳݻóÀÇ ¸ÖƼ¹Ìµð¾î ó¸®, Ŭ¶óÀÌ¾ðÆ® ¼­¹ö ¸ðµ¨ÀÇ ºÐ»ê ȯ°æ ½Ã½ºÅÛ, µ¥ÀÌÅͺ£À̽º °Ë»ö ¼­ºñ½º, ½Ç½Ã°£ ½Ã½ºÅÛ, 3D ±×·¡ÇÈ ¾Ö´Ï¸ÞÀ̼Ç, °ÔÀÓ, ±³À°¿ë ¼ÒÇÁÆ®¿þ¾î ºÐ¾ß´Â ¾ÆÁÖ Àü¸ÁÀÌ ¹à°í ±×¹Û¿¡µµ Àû¿ë ºÐ¾ß´Â ¹«ÇÑÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù.

»ç¿ëÀÚ´Â ±âÁ¸ÀÇ °í°¡ÀÎ µ¥½ºÅ©Å¾ ÄÄÇ»ÅͰ¡ ¾Æ´Ñ, ÀÛ°í Àú°¡°ÝÀÇ °í¼º´É ³×Æ®¿öÅ© ÄÄÇ»Å͸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ¶ÇÇÑ °³¹ßÀÚ´Â ´ÜÁö ÇÑ ¹øÀÇ ÇÁ·Î±×·¡¹ÖÀ¸·Î ¸ðµç Ç÷§ÆûÀÇ ÄÄÇ»ÅÍ¿¡¼­ ½ÇÇàÇÒ ¼ö ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ´Ü±â°£¿¡ Á¦ÀÛÇÒ ¼ö ÀÖÀ¸¹Ç·Î °³¹ß ºñ¿ëÀ» ÁÙÀÌ°í »ý»ê¼ºÀ» ³ôÀÏ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ °­·ÂÇÑ ±â´ÉÀº ¼ÒÇÁÆ®¿þ¾î »ê¾÷¿¡¼­ »õ·Î¿î Áú¼­¸¦ Çü¼ºÇÒ °ÍÀ̰í, ÀÎÅͳÝÀ» ÅëÇÑ ¼ÒÇÁÆ®¿þ¾îÀÇ ÆÇ¸Å ¹× À¯Áö, °»½ÅÀº ¼ÒÇÁÆ®¿þ¾î À¯Åë ÇüÅ¿¡ º¯È­¸¦ °¡Á®¿Ã °ÍÀÌ´Ù. Java·Î Á¦ÀÛÇÑ ÇÁ·Î±×·¥Àº ´õÀÌ»ó ¸ÅÀå¿¡¼­ ±¸ÀÔÇÏÁö ¾Ê°í, ÀÎÅͳݻ󿡼­ °Å·¡µÊÀ¸·Î »õ·Î¿î À¯Åë ±¸Á¶°¡ ³ªÅ¸³¯ °ÍÀ̸ç, ÇÁ·Î±×·¥ ÀúÀåÀ» À§ÇÑ ·ÎÄ® Çϵåµð½ºÅ©µµ ÇÊ¿äÇÏÁö ¾Ê°í, ÇÊ¿äÇÒ ¶§ Áï½Ã ÀÎÅͳݻ󿡼­ ÃֽйöÀüÀÇ ÇÁ·Î±×·¥À» ÀÐ¾î µé¿© »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Áï, ³×Æ®¿öÅ©´Â ÇÁ·Î±×·¥À» ÀúÀåÇÏ´Â ¿î¿µÃ¼Á¦ ¶Ç´Â Çϵåµð½ºÅ©ÀÇ ¿ªÇÒÀ» ´ë½ÅÇÒ °ÍÀÌ´Ù. ¶ÇÇÑ, °í°¡ÀÇ µ¥½ºÅ©Å¾ PC°¡ ¾Æ´Ñ Àú°¡ÀÇ ³×Æ®¿öÅ© ÄÄÇ»Åͳª Java Å͹̳ÎÀÇ °ø±Þ°ú Ȱ¿ëÀÌ È®´ëµÉ °ÍÀÌ´Ù. Java ±â¼úÀº Ç÷§Æû µ¶¸³ÀûÀ¸·Î ÀÛ¼ºµÇ¾î ¶Ù¾î³­ À̽ļºÀ» Á¦°øÇÑ´Ù. ÀÌ·¯ÇÑ JavaÀÇ Æ¯¼ºÀº ±âÁ¸ÀÇ µ¶¸³ÀûÀÌ°í ¹Ýº¹ÀûÀÎ ÄÄÇ»ÅÍ ÇÁ·Î±×·¥ÀÇ ½Ã´ë¿¡¼­ ¹þ¾î³ª¼­, ÇâÈÄ¿¡´Â ¸ðµç ÇÁ·Î±×·¥ÀÌ ³×Æ®¿öÅ© ȯ°æ¿¡¼­ ½ÇÇàµÇ´Â ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹ÖÀÇ ½Ã´ë°¡ µÉ °ÍÀ¸·Î Àü¸ÁµÈ´Ù.

¾à¾î ¸ñ·Ï

API Application Programming Interface

AWT Abstract Window Toolkit

GUI Graphic User Interface

HPC Handheld Personal Computer

HTML HyperText Markup Language

IDL Interface Definition Language

IIOP Internet Inter-ORB Protocol

JDBC Java DataBase Connectivity

JFC Java Foundation Class

JDK Java Development Kit

JIT Just-In-Time

JNDI Java Naming and Directory Interface

JVM Java Virtual Machine

PDA Personal Digital Assistant

RMI Remote Method Invocation

SET Secure Electronic Transaction

VM Virtual Machine

VOD Video On Demand

VRML Virtual Reality Modelling Language

WBT Window-Based Terminal

WWW World Wide Web

Âü°í ¹®Çå

[1] Gentner, D., Ludolph, F., and Ryan, C., Designing the HotJava ViewsTM User

Environment for a Network Computer, White Paper, JavaSoft, Sun Microsystems,

Inc., June, 1997.

Available from http://java.sun.com/products/hotjavaviews/hjv.white.html.

[2] Goldstein, T., Peyret, P., and Guthrie S., "JavaTM Card API: Current Directories,"

JavaOne : Sun's 1997 World Wide Java Developer Conference, April, 1997.

[3] Gosling, J., Java & HotJava :A Platform for Building Safe Distributed Applications, 1995.

[4] Greco, F. D., Java : An Introduction, JavaWorld 1996. 3.

Available from http://www.javaworld.com/

[5] Greco, F. D., "JavaTM for Technical Manager,", Java Internet Business Expo,

August, 1997.

[6] Harold, E. R., Brewing Java: A Tutorial, 1995.

Available from http://sunsite.unc.edu/javafaq/javatutorial.html

[7] HotJava Views, White Paper, Sun Microsystems, Inc., July, 1997.

Available from http://java.sun.com/products/hotjavaviews/index.html.

[8] Hughes, M., 'JavaBeans and ActiveX go head to head,' JavaWorld, March. 1997.

[9] Kramer, D., The JavaTM Platform, White Paper, JavaSoft, Sun Microsystems,

Inc., May, 1996.

[10] Kuester, M., E-Money, Smart Cards To Be Used For Half Of All Online Purchase

By 2000, Jupitor Commnuications, January 16, 1997.

Available from http://www.jup.com/jupiter/release/jan97/emoney.shtml.

[11] Lindholm, T. and Yellin, F., "The Java Virtual Machine Specification," Addison-Wesly,

1997.

[12] Menefee, C., $16 Billion Smart Card Market By Year 2000 - Forecast, NewsBytes,

September 25, 1997.

[13] Mitra, S., "Smart Cards: Putting JavaTM in Your Pocket," JavaOne : Sun's 1997

World Wide Java Developer Conference, April, 1997.

[14] PCWEEK, The Official Newspaper of The Java Internet Expo business, Aug. 25-28, 1997

[15] Phillip J. Gill, NetReady Advisior: JavaTM Starategies for the Enterprise, SIGS

Publications, pp. 7-9, Fall, 1997.

[16] Seminerio, M., Intranet growth to outpace the Internet's, researcher predicts,

PCWEEK ONLINE, October 31, 1996.

Available from http://www.zdnet.com/pcweek/news/1028/31mzona.html.

[17] Sun Microsystems, Java Application Programming Interface(API) User's Guide(JDK 1.0),

1996.

[18] Sun Microsystems, The Java Language Environment, A White Paper, 1995.

[19] The JAVA enterprise: the time for network-centric computing is now, Sun

Microsystems, Inc., 1997.

[20] Tribble, B., "Breakaway Business Strategies with JavaTM Computing", Sun

Microsystems, 1997.

[21] Tribble, B., JavaTM Enterprise Computing: Enabling Breakway Business

Strategies, Sun Microsystems, Inc., 1997.