1996³â 3¿ù 19ÀÏ Ã¹ ÃâÆÇ, 1998³â 5¿ù 15ÀÏ ÃÖÁ¾ °»½Å


´ÙÀ½ ÆäÀÌÁö »öÀÎ


ÀÚ¹Ù - À¥ ÇÁ·Î±×·¡¹ÖÀÇ ÁøÇÑ Ä¿ÇÇÇâ

 

ÀÚ¹Ù´Â Ä¿ÇÇ Àü¹®Á¡ À̸§ÀÌ´Ù. ÀÌ À̸§ÀÌ ¾î´À³¯ºÎÅÍÀÎÁö ¸¹Àº ÇÁ·Î±×·¡¸Óµé°ú ÀÎÅÍ³Ý »çȸÀÇ °ü½ÉÀ» ¸ðÀ¸±â ½ÃÀÛÇß´Ù.
ÀÌÁ¦ ÀÎÅͳÝÀ» ¾Æ´Â »ç¶÷À̶ó¸é ÀÚ¹Ù¸¦ Á¢Çغ¸Áö ¸øÇÑ »ç¶÷Àº °ÅÀÇ ¾øÀ» °ÍÀÌ´Ù. ÀÚ¹Ù´Â ¿ùµå¿ÍÀ̵åÀ¥(WWW) »ó¿¡¼­ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Â ³×Æ®¿÷ ±â¹ÝÀÇ ¾ÆÁÖ Æ¯º°ÇÑ ¾ð¾î·Î ÀÎÅÍ³Ý ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Ç¥ÁØÀ¸·Î ÀÚ¸®Àâ¾Æ°¡°í ÀÖ´Ù.
ÀÚ¹Ù°¡ °¢±¤À» ¹Þ°Ô µÈ µ¥¿¡´Â ¿©·¯ °¡Áö ÀÌÀ¯¸¦ µé ¼ö ÀÖ°ÚÁö¸¸ ±× ¹«¾ùº¸´Ùµµ ÀÎÅÍ³Ý »ó¿¡¼­ ½ÇÇàµÇ´Â ÇÁ·Î±×·¥À̶ó´Â Ư¼ºÀÌ ÀÎÅͳÝÀÇ ´ëÁßÈ­¿¡ ÈûÀÔ¾î ´ëÁßÀû È®»ê¿¡ ±â¿©ÇÑ Á¡À» ÁÖ¸ñÇÒ ¼ö ÀÖ´Ù. °ÔÀÓÀÇ ¸ð½ÀÀ¸·Î µ¿ÀûÀÎ ±×·¡ÇÈÀÇ ¸ð½ÀÀ¸·Î ÀÎÅÍ³Ý »ç¿ëÀÚ¿¡°Ô º¸¿©ÁØ È­·ÁÇÏ°íµµ Ä£¼÷ÇÑ Ã¹¸ð½ÀÀÌ ±Þ¼ÓÇÑ È®»êÀ» ºÎäÁúÇßÀ½ÀÌ ºÐ¸íÇÏ´Ù.
¶ÇÇÑ ÀÏ´Ü ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¸é ¿©·¯ ¿î¿µ üÁ¦¸¦ °¡·ÎÁú·¯ °ÅÀÇ µ¿ÀÏÇÑ ¸ð½ÀÀ¸·Î ½ÇÇàµÉ ¼ö ÀÖ´Ù´Â "Write once, run everywhere"¶ó´Â ½½·Î°Çµµ ¿©°£ ¸ÅȤÀûÀΠƯ¼ºÀÌ ¾Æ´Ò ¼ö ¾ø´Ù.
ÇÁ·Î±×·¡¸ÓÀÇ ÀÔÀå¿¡¼­ º¸ÀÚ¸é ÀÌ ¸Å·ÂÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î ȤÀº ÇÁ·Î±×·¥ ¿î¿µ ȯ°æ(¿Ö ÀÚ¹Ù°¡ ÇÁ·Î±×·¥ ¿î¿µ ȯ°æÀ̱⵵ ÇÑÁö¿¡ ´ëÇؼ­´Â ³ªÁß¿¡ ³íÀÇÇغ¸ÀÚ.)ÀÌ ±âÁ¸ÀÇ ´ëÁßÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î C/C++¿Í ¹®¹ýÀûÀ¸·Î °ÅÀÇ µ¿ÀÏÇÏ´Ù´Â Á¡¿¡¼­ ¾î»öÇÏÁö ¾Ê°í ½±°Ô ¹è¿ï ¼ö À־ ¹Þ¾ÆµéÀÌ´Â µ¥ ¸¹Àº ½Ã°£À» µéÀÌÁö ¾Ê¾Æµµ µÇ¾ú´Ù. (ÀÌ °£´ÜÇÑ Æ©Å丮¾óÀº C/C++ ¹®¹ý¿¡ ÀÌÇØ°¡ ÀÖ´Â »ç¶÷À» °¡Á¤ÇÏ°í ÀÚ¹Ù·ÎÀÇ ÀÌÀü¿¡ ÀÛÀº µµ¿òÀ» ÁÙ ¼ö ÀÖµµ·Ï ±¸¼ºÇϾú´Ù.)
ÀÚ¹Ù´Â Àç¹ÌÀÖ´Ù.
ÀÚ¹Ù´Â ½±´Ù.
ÀÌ µÎ °¡Áö¸¦ È®½ÅÇϸ鼭 ½ÃÀÛÇغ¸ÀÚ.
¸ÕÀú ÇÑ ±ôÂïÇÑ ¾ÖÇø´À» ¼Ò°³ÇÑ´Ù.
¾î´À À¥ »çÀÌÆ®¿¡ µé¾î ÀÖ´Â ÀÚ¹Ù ¾ÖÇø´(¾ÖÇø´Àº µÚ¿¡ °¡¼­ ¼³¸íÇÏ°ÚÁö¸¸ ÀÛÀº ÇÁ·Î±×·¥À̶õ ¶æÀÌ´Ù)ÀÌ´Ù. ÀÌ ¾ÖÇø´Àº °íÀüÀûÀÎ ´ÙÁß ¾²·¹µå(¾²·¹µå´Â µÚ¿¡¼­ ´Ù½Ã ´Ù·é´Ù)ÀÇ µ¿±âÈ­ ¹®Á¦¸¦ ´Ù·é °ÍÀ¸·Î ÀÚ¹ÙÀÇ ¸ÖƼ ¾²·¹µù ±â´ÉÀ» Àß ¿¹½ÃÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ±Í¿©¿î öÇÐÀÚµéÀÇ ¸ð½ÀÀÌ ÇÁ·Î±×·¡¸ÓµéÀ» ÀÚ¹ÙÀÇ ¼¼°è·Î ²ø¾îµéÀδÙ.
[±×¸²] °íÀüÀûÀÎ µ¿±âÈ­ ¹®Á¦¸¦ ¾ÖÇø´À¸·Î ¸¸µç 'öÇÐÀÚµéÀÇ ¸¸Âù'

ÀÚ¹ÙÀÇ È¨ÆäÀÌÁö(http://java.sun.com)¿¡ ÇÑ ¹øÀÌ¶óµµ °¡ º» »ç¶÷Àº ²ú°í ÀÖ´Â Ä¿ÇÇ ·Î°í¸¦ º¸¾ÒÀ» °ÍÀÌ´Ù. µû¶æÇÑ ÇÑÀÜÀÇ Ä¿ÇÇ¿Í ÇÔ²² ÇÏ´Â ÀÎÅͳÝ, ¹Ù·Î ÀÚ¹ÙÀÇ ¼¼°èÀÌ´Ù.

ÀÚ¹ÙÀÇ Æ¯Â¡

ÀÚ¹Ù´Â ÀÎÅÍÇÁ¸®ÅÍÇü ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÌ´Ù.
Áï, ÀÚ¹Ù´Â ½ÇÇà ½Ã¿¡ Äڵ带 Àоîµé¿© ±â°è¾î·Î ¹ø¿ªÇϸ鼭 ¼öÇàµÇ´Â ÇÁ·Î±×·¥À» ¸¸µå´Â ¾ð¾îÀÌ´Ù.
±×·¸´Ù¸é C³ª C++, ÆĽºÄ® µî°ú °°ÀÌ ¹Ì¸® ±â°è¾î·Î ¹ø¿ªÇÏ¿© º¯È¯µÈ ¹ÙÀ̳ʸ®¸¦ ¼öÇàÇÏ´Â ÄÄÆÄÀÏÇü ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ºñÇØ ¼öÇà ¼Óµµ°¡ ÇöÀúÇÏ°Ô ¶³¾îÁö´Â ÀÎÅÍÇÁ¸®ÅÍ ¹æ½ÄÀ» äÅÃÇÑ ÀÚ¹Ù°¡ ¾î¶»°Ô »ì¾Æ³²À» ¼ö ÀÖÀ» °ÍÀΰ¡ °ÆÁ¤ÀÌ µÇÁö ¾ÊÀ»±î?
ÀÚ¹Ù´Â º£ÀÌÁ÷°ú °°Àº ¹æ½ÄÀÇ ¾ð¾îÀϱî?
ÀÏ´Ü ±× ´ë´äÀº '¾Æ´Ï´Ù' ÂÊÀÌ´Ù.
ÀÚ¹Ù´Â ÄÄÆÄÀÏ°ú ÀÎÅÍÇÁ¸®ÆÃÀÌ È¥ÀçÇÏ´Â ¸ðµ¨À» äÅÃÇÏ°í ÀÖ´Ù.
ÄÄÆÄÀÏÀ» ÇÏ¿© °¡»óÀûÀÎ ÀÌÁø ÄÚµå(Á»´õ Á¤È®ÇÏ°Ô Ç¥ÇöÇÏ¿© ÀÚ¹Ù¿¡¼­´Â ¹ÙÀÌÆ®ÄÚµå(bytecode)¶ó°í ºÎ¸¥´Ù. ºñÆ® ´ÜÀ§°¡ ¾Æ´Ï¶ó ¹ÙÀÌÆ® ´ÜÀ§ÀÇ ¹®ÀÚ·Î ±¸¼ºµÇ´Â ÆÄÀÏÀ̱⠶§¹®ÀÌ´Ù.)·Î º¯È¯ÇÑ ´ÙÀ½¿¡ ±× ÀÌÁø Äڵ带 ¹ø¿ªÇϸ鼭 ¼öÇàÇÏ´Â ¹æ½ÄÀÌ´Ù.
°¡»óÀûÀÎ ÀÌÁø ÄÚµå´Â Ç÷§Æû¿¡ µ¶¸³ÀûÀÎ ÇüÅ·Π¹ø¿ªÀÌ ¿ëÀÌÇϵµ·Ï ¼³°èµÈ ÀÚ¹Ù¸¸ÀÇ µ¶Æ¯ÇÑ Çü½ÄÀ» °¡Áø´Ù. ÀÚ¹Ù´Â ÀÌ·¯ÇÑ ¹æ½ÄÀ» ÅëÇØ Ç÷§Æû µ¶¸³¼º°ú ¼öÇà ¼º´ÉÀ̶ó´Â µÎ ¸¶¸® Åä³¢¸¦ ÀâÀ¸·Á ÇÏ°í ÀÖ´Ù. ÇÏÁö¸¸ ¾ÆÁ÷Àº ¸¸Á·ÇÒ ¸¸ÇÑ ¼öÇà ¼º´ÉÀ» º¸¿©ÁÖÁö ¸øÇÏ°í ÀÖ´Â °ÍÀÌ Çö½ÇÀÌ´Ù.
 

ÀÚ¹ÙÀÇ ÇÁ·Î±×·¡¹Ö ¸ðµ¨

  • ±âÁ¸ÀÇ ÇÁ·Î±×·¡¹Ö ¸ðµ¨(C)
    ÄÄÆÄÀÏ->¸µÅ©->½ÇÇà ÆÄÀÏ(¹ÙÀ̳ʸ®) 
  • ÀÚ¹ÙÀÇ ÇÁ·Î±×·¡¹Ö ¸ðµ¨
    ÄÄÆÄÀÏ->½ÇÇà ÆÄÀÏ(¹ÙÀÌÆ®ÄÚµå)->ÀÎÅÍÇÁ¸®ÆÃ

ÀÚ¹Ù´Â ÀÎÅÍÇÁ¸®ÅÍÇü ¾ð¾îÀÌÁö¸¸ ¼öÇà ¼º´É°ú º¸¾È, ¾ÆÅ°ÅØÃÄ µ¶¸³¼º µîÀÇ ÀÌÀ¯·Î ÀÎÅÍÇÁ¸®Æÿ¡ ¾Õ¼­ ÄÄÆÄÀÏÀ» °ÅÄ¡´Â µ¶Æ¯ÇÑ ÇüŸ¦ Áö´Ï°í ÀÖ´Ù. 

 

ÀÚ¹ÙÀÇ Æ¯Â¡¿¡ ´ëÇÏ¿© ÀÚ¹Ù¸¦ ¸¸µç ½ã ¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî »çÀÇ ÁÖÀåÀ» µé¾îº¸ÀÚ. ÀÚ¹ÙÀÇ ±â¹Ý öÇÐÀ» ÀÌÇØÇÏ´Â µ¥ Å« µµ¿òÀ» ¾òÀ» ¼ö ÀÖ´Ù.
´ÙÀ½Àº ÀÚ¹Ù °ø½Ä ¹®¼­(Java White Paper)¿¡¼­ ¹ßÃé ¹ø¿ªÇÑ °ÍÀÌ´Ù.

1) °£´ÜÇÏ´Ù. °´Ã¼ ÁöÇâÀÌ´Ù. Ä£¼÷ÇÏ´Ù.

ÀÚ¹ÙÀÇ ÁÖµÈ Æ¯Â¡À¸·Î ±âÁ¸ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚµéÀÌ Å« ÇÁ·Î±×·¡¹Ö ±³À° ¾øÀÌ ÇÁ·Î±×·¥À» ÇÒ ¼ö ÀÖ´Â °£´ÜÇÑ ¾ð¾îÀÓÀ» µé ¼ö ÀÖ´Ù.
ÀÚ¹ÙÀÇ ±âº» °³³äÀ» ½±°Ô ÀÌÇØÇÒ ¼ö À־ ÇÁ·Î±×·¡¸ÓµéÀº ½ÃÀÛºÎÅÍ È¿À²ÀûÀÎ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ´Ù.
¶Ç ÀÚ¹Ù´Â ¹Ø¹Ù´Ú¿¡¼­ºÎÅÍ °´Ã¼ ÁöÇâÀûÀÌ´Ù.
°´Ã¼ ±â¼úÀº 30³â °£ÀÇ Çü¼º ±â°£À» °ÅÃÄ ¸¶Ä§³» ÀÚ¹Ù¸¦ ÅëÇØ ÇÁ·Î±×·¡¹ÖÀÇ ÁÖ·ù·Î µé¾î¼³ ¼ö ÀÖ°Ô µÈ °ÍÀÌ´Ù.
¿ì¿¬ÇÏ°Ôµµ ÀÚ¹Ù¿¡¼­´Â ºÐ»ê ȯ°æ, Ŭ¶óÀ̾ðÆ®-¼­¹ö ±â¹Ý ½Ã½ºÅÛÀÇ ¿ä±¸°¡ °´Ã¼ ±â¹Ý ¼ÒÇÁÆ®¿þ¾îÀÇ Ä¸½¶È­µÈ, ¸Þ½ÃÁö Àü´Þ Æз¯´ÙÀÓ°ú ÇÔ²² ¸¸³ª°í ÀÖ´Ù.
Á¡Á¡ ´õ º¹ÀâÇØÁö´Â ³×Æ®¿÷ ±â¹Ý ȯ°æ¿¡¼­ ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀº ¹Ýµå½Ã °´Ã¼ ÁöÇâ °³³äÀ» äÅÃÇØ¾ß ÇÑ´Ù.
ÀÚ¹Ù´Â °£¸íÇÏ°í È¿À²ÀûÀÎ °´Ã¼ ±â¹Ý °³¹ß ȯ°æÀ» Á¦°øÇÑ´Ù.

ÀÚ¹Ù¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¡¸Ó´Â ±âº» µ¥ÀÌÅÍ À¯ÇüÀ¸·ÎºÎÅÍ I/O, ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º, ³ª¾Æ°¡ ±×·¡ÇÈ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ÅøŶ¿¡ À̸£´Â ±â´ÉÀ» Á¦°øÇÏ´Â °ËÁõµÈ °´Ã¼ ¶óÀ̺귯¸®¸¦ ±âº» Á¦°ø¹Þ´Â´Ù. ¶Ç ÀÌ ¶óÀ̺귯¸®µéÀ» È®ÀåÇÏ¿© »õ·Î¿î ±â´ÉÀ» Ãß°¡ÇÒ ¼öµµ ÀÖ´Ù.
ºñ·Ï C++¸¦ äÅÃÇÏÁö´Â ¾Ê¾ÒÁö¸¸ ÀÚ¹Ù¸¦ C++¿Í °¡´ÉÇÑ ÇÑ À¯»çÇÏ°Ô º¸À̵µ·Ï ÇÔÀ¸·Î½á ÀÚ¹Ù´Â ºÒÇÊ¿äÇÑ C++ÀÇ º¹À⼺À» Á¦°ÅÇϸ鼭µµ Ä£¼÷ÇÑ ¾ð¾î°¡ µÉ ¼ö ÀÖ¾ú´Ù.
ÀÚ¹Ù°¡ ¼ö¸¹Àº °´Ã¼ ÁöÇâ Ư¡°ú C++ÀÇ ¿Ü¾çÀ» ±×´ë·Î À¯ÁöÇÏ¿´±â ¶§¹®¿¡ ÇÁ·Î±×·¡¸ÓµéÀº ¼Õ½±°Ô ÀÚ¹Ù·Î ÀÌÀüÇÏ¿© ºü¸£°Ô »ý»ê¼ºÀ» °®Ãâ ¼ö ÀÖ´Ù.

2) ½Å·Ú¼º°ú º¸¾È¼ºÀÌ ÀÖ´Ù.

ÀÚ¹Ù´Â ³ôÀº ½Å·Úµµ¸¦ °¡Áø ¼ÒÇÁÆ®¿þ¾î Á¦ÀÛ¿¡ ¸Â°Ô ¼³°èµÇ¾î ±¤¹üÀ§ÇÑ ÄÄÆÄÀÏ ½Ã °Ë»ç¿Í ½ÇÇà ½Ã °Ë»ç¸¦ Á¦°øÇÑ´Ù.
¶Ç ¾ð¾îÀÇ ¿©·¯ Ư¼ºµéÀÌ ÇÁ·Î±×·¡¸Ó¸¦ ½Å·Úµµ ÀÖ´Â ÇÁ·Î±×·¡¹Ö ½À°üÀ¸·Î À̲ö´Ù.
Æ÷ÀÎÅÍ¿Í Æ÷ÀÎÅÍ ¿¬»êÀ» »ç¿ëÇÏÁö ¾Ê´Â ¸Þ¸ð¸® °ü¸® ¸ðµ¨Àº C/C++ ÇÁ·Î±×·¡¸Ó¸¦ ¹ÌÄ¡°Ô ÇÏ´Â ÇÁ·Î±×·¡¹Ö ¿¡·¯µéÀ» Á¦°ÅÇعö·È´Ù.
ÀÚ¹Ù ¾ð¾î Äڵ带 °³¹ßÇÒ ¶§¿¡´Â ½Ã½ºÅÛÀÌ À绡¸® ¿¡·¯µéÀ» ã¾ÆÁÙ °ÍÀ̸ç Á¦Ç° Äڵ尡 ¼±ÀûµÈ ÈÄ¿¡µµ Ä¿´Ù¶õ ¹®Á¦µéÀÌ ÀẹÇØ ÀÖÁö´Â ¾ÊÀ½À» È®½ÅÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÀÚ¹Ù´Â ºÐ»êȯ°æ¿¡¼­ ÀÛµ¿Çϵµ·Ï ¼³°èµÇ¾ú´Ù. ÀÌ°ÍÀº º¸¾ÈÀÌ ¾ÆÁÖ Áß¿äÇÔÀ» ¶æÇÑ´Ù.
ÀÚ¹Ù´Â ¾ð¾î¿Í ·±Å¸ÀÓ ½Ã½ºÅÛ ¾È¿¡ º¸¾È ±â´ÉÀÌ ¼³°èµÇ¾î Àֱ⠶§¹®¿¡ ¿ÜºÎ·ÎºÎÅÍ Ä§ÇعÞÁö ¾Ê´Â ÇÁ·Î±×·¥À» °³¹ßÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÚ¹Ù ÀÀ¿ë ÇÁ·Î±×·¥Àº ³×Æ®¿÷ ȯ°æ¿¡¼­ ¹°¹Ø¿¡ ¼û¾î¼­ ¹ÙÀÌ·¯½º¸¦ ¸¸µé°Å³ª ÆÄÀÏ ½Ã½ºÅÛÀ» ħÇØÇÏ·Á´Â ±ÇÇÑ ¾ø´Â ÄÚµåÀÇ Ä§ÇطκÎÅÍ ¾ÈÀüÇÏ´Ù.

3) ¾ÆÅ°ÅØÃÄ Á߸³ÀûÀ̸ç À̽ļºÀÌ ³ô´Ù.

ÀÚ¹Ù´Â ÀÌÁúÀûÀÎ ³×Æ®¿÷ ȯ°æÀ¸·Î ¹èÄ¡µÉ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» Áö¿øÇϵµ·Ï ¼³°èµÇ¾ú´Ù. ÀÌ°°Àº ȯ°æ¿¡¼­´Â ÀÀ¿ë ÇÁ·Î±×·¥µéÀÌ ´Ù¾çÇÑ Çϵå¿þ¾î ¾ÆÅ°ÅØÃÄ À§¿¡¼­ ½ÇÇàµÉ ¼ö ÀÖ¾î¾ß¸¸ ÇÑ´Ù.
ÀÌ·± ´Ù¾çÇÑ Çϵå¿þ¾î Ç÷§Æû ¾È¿¡¼­´Â ÀÀ¿ë ÇÁ·Î±×·¥µéÀÌ ´Ù¾çÇÑ ¿î¿µ üÁ¦ À§¿¡¼­ ´Ù¼öÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î ÀÎÅÍÆäÀ̽º¿Í »óÈ£ ÀÛ¿ëÇϸ鼭 ½ÇÇàµÇ¾î¾ß ÇÑ´Ù.
´Ù¾çÇÑ ¿î¿µ üÁ¦¸¦ ¼ö¿ëÇϱâ À§ÇØ ÀÚ¹Ù ÄÄÆÄÀÏ·¯´Â ¹ÙÀÌÆ®ÄÚµå(´Ù¼öÀÇ Çϵå¿þ¾î ¹× ¼ÒÇÁÆ®¿þ¾î Ç÷§Æû¿¡ È¿À²ÀûÀ¸·Î Äڵ带 Àü¼ÛÇϱâ À§ÇØ ¼³°èµÈ ¾ÆÅ°ÅØÃÄ Á߸³ÀûÀÎ Áß°£ ÇüÅÂ)¸¦ »ý¼ºÇÑ´Ù.
ÀÚ¹ÙÀÇ ÀÎÅÍÇÁ¸®Æà ¼Ó¼ºÀº ¹ÙÀ̳ʸ® ¹èÆ÷ÀÇ ¹®Á¦¿Í ¹öÀü ¹®Á¦¸¦ ÇѲ¨¹ø¿¡ ÇØ°áÇÑ´Ù.
Áï, µ¿ÀÏÇÑ ÀÚ¹Ù ¾ð¾î ¹ÙÀÌÆ®Äڵ尡 ¸ðµç Ç÷§Æû À§¿¡¼­ ½ÇÇàµÇ´Â °ÍÀÌ´Ù.

¾ÆÅ°ÅØÃÄ Á߸³¼ºÀº ÁøÁ¤ÇÑ ÀÌ½Ä °¡´É ½Ã½ºÅÛÀÇ ´ÜÁö ÇÑ ºÎºÐÀÏ »ÓÀÌ´Ù.
ÀÚ¹Ù´Â ±âº» ¾ð¾î Á¤ÀǸ¦ ¾ö°ÝÇÏ°Ô ÇÔÀ¸·Î½á À̽ļº¿¡¼­ ÇÑ ´Ü°è ´õ ³ª¾Æ°£´Ù.
±âº» µ¥ÀÌÅÍ À¯ÇüÀÇ Å©±â¿Í ±× ¿¬»êÀÚÀÇ ÇൿÀ» È®°íÇÏ°Ô ±ÔÁ¤ÇÑ´Ù. ÇÁ·Î±×·¥µéÀº ¸ðµç Ç÷§Æû¿¡¼­ µ¿ÀÏÇÏ´Ù.
µ¥ÀÌÅÍ À¯ÇüÀÇ Çϵå¿þ¾î ȤÀº ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØÃÄ Â÷ÀÌ¿¡ µû¸¥ ºñȣȯ¼ºÀº Á¸ÀçÇÏÁö ¾Ê´Â´Ù.

ÀÚ¹ÙÀÇ ¾ÆÅ°ÅØÃÄ Á߸³ÀûÀÌ°í ÀÌ½Ä °¡´ÉÇÑ ¾ð¾î ȯ°æÀº ÀÚ¹Ù °¡»ó ±â°è(Java Virtual Machine)·Î ¾Ë·ÁÁ® ÀÖ´Ù.
ÀÌ°ÍÀº ÀÚ¹Ù ¾ð¾î ÄÄÆÄÀÏ·¯µéÀÌ Äڵ带 »ý¼ºÇÒ ´ë»óÀÌ µÇ´Â Ãß»óÈ­µÈ ±â°èÀÇ ¸í¼¼ÀÌ´Ù.
ƯÁ¤ Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î Ç÷§ÆûÀ» À§ÇÑ Æ¯Á¤ÇÑ ÀÚ¹Ù °¡»ó ±â°èÀÇ ±¸ÇöÀÌ °¡»ó ±â°èÀÇ ±¸Ã¼ÀûÀÎ ±¸ÇöÀ» Á¦°øÇÑ´Ù.
ÀÚ¹Ù °¡»ó ±â°è´Â ÁÖ·Î ÀÌ½Ä °¡´ÉÇÑ ½Ã½ºÅÛ ÀÎÅÍÆäÀ̽ºÀÇ »ê¾÷ Ç¥ÁØÀ» Á¤ÀÇÇÏ´Â POSIX ÀÎÅÍÆäÀ̽º ¸í¼¼¿¡ ±â¹ÝÇÑ´Ù.
»õ·Î¿î ¾ÆÅ°ÅØÃÄ¿¡¼­ ÀÚ¹Ù °¡»ó ±â°è¸¦ ±¸ÇöÇÏ´Â °ÍÀº ´ë»ó Ç÷§ÆûÀÌ ´ÙÁß ¾²·¹µù(multi-threading)°ú °°Àº ±âº»ÀûÀÎ ¿ä°ÇÀ» ¸¸Á·ÇÏ´Â ÇÑ »ó´ëÀûÀ¸·Î ¼ö¿ùÇÑ ÀÏÀÌ´Ù.

 

ÀÚ¹ÙÀÇ Ç÷§ÆûÀû ¼Ó¼º

  • ÀÚ¹Ù ÇÁ·Î±×·¥ÀÌ Ç÷§Æû ȤÀº ¾ÆÅ°ÅØÃÄ µ¶¸³ÀûÀ¸·Î ¼öÇàµÉ ¼ö ÀÖ´Â ºñ°áÀº ÀÚ¹ÙÀÇ µ¶Æ¯ÇÑ Ç÷§ÆûÀû ¼Ó¼º¿¡ ÀÖ´Ù. 
  • ÀÚ¹Ù´Â ±âÁ¸ÀÇ ¿î¿µ üÁ¦ À§¿¡ ÀÚ¹Ù ÇÁ·Î±×·¥À» ¼öÇàÇÒ ¼ö ÀÖ´Â µ¶Æ¯ÇÑ ¼ÒÇÁÆ®¿þ¾î Ç÷§ÆûÀÎ ÀÚ¹Ù °¡»ó ±â°è(Virtual Machine)¸¦ ÇÊ¿ä·Î ÇÑ´Ù. 
  • ÀÚ¹ÙÀÇ À̽Ä(port) ÀÛ¾÷Àº º»ÁúÀûÀ¸·Î ÀÚ¹Ù VMÀÇ À̽Ä.
    ÀÚ¹Ù´Â ¸ÖƼ ¾²·¹µùÀ» Áö¿øÇÏ´Â ´ëºÎºÐÀÇ Çö´ë ¿î¿µ üÁ¦·Î À̽ĵǾúÀ¸¸ç ¶Ç ¿©·¯ ¿î¿µ üÁ¦¿¡¼­ ½ÇÇàµÇ´Â ³Ý½ºÄÉÀÌÇÁ ºê¶ó¿ìÀú´Â ÀÚ¹Ù ¾ÖÇø´ ½ÇÇàÀ» À§ÇÏ¿© °¢°¢ º°µµÀÇ ÀÚ¹Ù VMÀ» ±¸ÇöÇÏ°í ÀÖ´Ù.

 

4) ³ôÀº ¼öÇ༺´É

¼öÇà ¼º´ÉÀº ¾ðÁ¦³ª °í·Á ´ë»óÀÌ´Ù.
ÀÚ¹Ù´Â ÀÎÅÍÇÁ¸®ÅÍ°¡ ·±Å¸ÀÓ È¯°æÀ» °Ë»çÇÒ ÇÊ¿ä ¾øÀÌ ½ÇÇàµÉ ¼ö ÀÖ´Â ±¸¼ºÀ» äÅÃÇÏ¿© ¶Ù¾î³­ ¼º´ÉÀ» ¾ò´Â´Ù.
¸®¼Ò½º °ü¸®±â(garbage collector)°¡ ¸Þ¸ð¸®°¡ ÇÊ¿äÇÒ ¶§¿¡¸¸ »ç¿ë°¡´ÉÇÔÀ» ÃÖ´ëÇÑ º¸ÀåÇϱâ À§ÇØ, ÀÚµ¿À¸·Î ³·Àº ¿ì¼±¼øÀ§ÀÇ ¹é±×¶ó¿îµå ¾²·¹µå·Î ½ÇÇàµÇ¾î ³ªÀº ¼öÇà ¼º´ÉÀ¸·Î À̲ö´Ù.
¸·´ëÇÑ ÄÄÇ»Æà ´É·ÂÀ» ¿ä±¸ÇÏ´Â ÇÁ·Î±×·¥Àº ÄÄÇ»ÆÃÀÌ ¸¹Àº ºÎºÐÀ» º»·¡ÀÇ ±â°è ÄÚµå·Î ÀçÀÛ¼ºÇÏ¿© Àڹ٠ȯ°æ°ú ÀÎÅÍÆäÀ̽ºÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.
ÀϹÝÀûÀ¸·Î »ç¿ëÀÚµéÀº ´ëÈ­Çü ÀÀ¿ë ÇÁ·Î±×·¥Àº ºñ·Ï ÀÎÅÍÇÁ¸®Æõǰí ÀÖÀ½¿¡µµ ºÒ±¸ÇÏ°í ºü¸£°Ô ¹ÝÀÀÇÑ´Ù°í ´À³¥ °ÍÀÌ´Ù.

 

5) ÀÎÅÍÇÁ¸®ÅÍÇüÀÌ´Ù. ¾²·¹µå¸¦ Áö¿øÇÑ´Ù. µ¿Àû ¿¬°á¿¡ ±â¹ÝÇÏ¿© ¼öÇàÇÑ´Ù.

ÀÚ¹Ù ÀÎÅÍÇÁ¸®ÅÍ´Â ÀÎÅÍÇÁ¸®ÅÍ¿Í ·±Å¸ÀÓ ½Ã½ºÅÛÀÌ À̽Ä(port)µÈ ¸ðµç ±â°è À§¿¡¼­ ÀÚ¹Ù ¹ÙÀÌÆ®Äڵ带 Á÷Á¢ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
ÀÚ¹Ù ½Ã½ºÅÛ°ú °°Àº ÀÎÅÍÇÁ¸®Æà ȯ°æ¿¡¼­´Â ÇÁ·Î±×·¥ÀÇ ¸µÅ© ´Ü°è°¡ °£´ÜÇÏ°í, Áõ°¡½ÄÀ̸ç, ºÎ´ãÀÌ Àû´Ù.
ÀüÅëÀûÀ¸·Î ºÎ´ãÀÌ Å« ÄÄÆÄÀÏ, ¸µÅ©, °Ë»ç Áֱ⿡ ºñÇØ ÇÁ·ÎÅäŸÀÔ ÀÛ¾÷, ½ÇÇè, ½Å¼ÓÇÑ °³¹ßÀÌ ÀϹÝÀûÀÎ °æ¿ì°¡ µÇ¹Ç·Î ÈξÀ ´õ »¡¶óÁø °³¹ß Áֱ⸦ ¸¸³£ÇÒ ¼ö ÀÖ´Ù.

ÇÖÀÚ¹Ù(HotJava) ¿ùµå¿ÍÀ̵åÀ¥ ºê¶ó¿ìÀú¿Í °°Àº Çö´ëÀÇ ³×Æ®¿÷ ±â¹Ý ÇÁ·Î±×·¥Àº ÀüÇüÀûÀ¸·Î µ¿½Ã¿¡ ¸î °¡Áö ÀÏÀ» ÇÒ Çʿ並 °¡Áø´Ù.
ÇÖÀÚ¹Ù¸¦ »ç¿ëÇÏ´Â »ç¿ëÀÚ´Â À̹ÌÁö¸¦ ´Ù¿î·Îµå¹ÞÀ¸¸é¼­ ÆäÀÌÁö¸¦ ½ºÅ©·ÑÇÏ´Â µ¿½Ã¿¡ ¸î °¡Áö ¾Ö´Ï¸ÞÀ̼ÇÀ» ½ÇÇà½Ãų ¼ö ÀÖ´Ù.
ÀÚ¹ÙÀÇ ´ÙÁß ¾²·¹µù ±â´ÉÀº µ¿½Ã¿¡ ¸¹Àº ¾²·¹µå¸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» ¸¸µé ¼ö´ÜÀ» Á¦°øÇÑ´Ù.
´ÙÁß ¾²·¹µù(mutil-threading)Àº ÀÌ·¸°Ô ÃÖÁ¾ »ç¿ëÀÚ¿Í ³ôÀº ¼öÁØÀÇ »óÈ£ ÀÛ¿ëÀ» °¡´ÉÇÏ°Ô ÇØÁØ´Ù.

ÀÚ¹Ù´Â Á¤±³ÇÑ µ¿±âÈ­ ±âº» ÇÔ¼öµéÀ» Ãß°¡ÇÏ¿© ¾ð¾î ¼öÁØ¿¡¼­ ´ÙÁß ¾²·¹µùÀ» Áö¿øÇÑ´Ù.
¾ð¾î ¶óÀ̺귯¸®¿¡´Â Thread Ŭ·¡½º°¡ ÀÖÀ¸¸ç ·±Å¸ÀÓ ½Ã½ºÅÛÀº ¸ð´ÏÅÍ¿Í Á¶°Ç Àá±Ý ¿ø½Ã ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù.
ÀÌ¿¡ ´õÇÏ¿©, ¶óÀ̺귯¸® ¼öÁØ¿¡¼­ ³ôÀº ¼öÁØÀÇ ÀÚ¹Ù ½Ã½ºÅÛ ¶óÀ̺귯¸®´Â ¾ÈÀüÇÏ°Ô ¾²·¹µå¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï(thread-safe) ÀÛ¼ºµÇ¾ú´Ù.
Áï, ¶óÀ̺귯¸®°¡ Á¦°øÇÏ´Â ÇÔ¼öµéÀ» µ¿½Ã¿¡ ½ÇÇàµÇ´Â ´Ù¼öÀÇ ¾²·¹µå ȯ°æ¿¡¼­ Ãæµ¹ ¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

ÀÚ¹Ù ÄÄÆÄÀÏ·¯´Â ÄÄÆÄÀÏ ½Ã¿¡ ¾ö°ÝÇÏ°Ô Á¤ÀûÀÎ °Ë»ç¸¦ ÇÏÁö¸¸ ¾ð¾î¿Í ·±Å¸ÀÓ ½Ã½ºÅÛÀº µ¿ÀûÀ¸·Î ¸µÅ©¸¦ ¼öÇàÇÑ´Ù.
Ŭ·¡½ºµéÀº ÇÊ¿äÇÒ ¶§¿¡¸¸ ¸µÅ©µÈ´Ù.
»õ·Î¿î ÄÚµå ¸ðµâÀ» ÇÊ¿ä¿¡ µû¶ó ´Ù¾çÇÑ ¿øõÀ¸·ÎºÎÅÍ ¸µÅ©ÇÒ ¼ö ÀÖÀ¸¸ç ½ÉÁö¾î ³×Æ®¿÷ ³Ê¸ÓÀÇ ¿øõÀ¸·ÎºÎÅ͵µ ¸µÅ©ÇÒ ¼ö ÀÖ´Ù.
ÇÖÀÚ¹Ù ºê¶ó¿ìÀú¿Í À¯»çÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ¿ì, ´ëÈ­ÇüÀÇ ½ÇÇà Äڵ带 ¾î´À °÷À¸·ÎºÎÅ͵çÁö ÀûÀçÇÒ ¼ö À־ ÀÀ¿ë ÇÁ·Î±×·¥À» Åõ¸íÇÏ°Ô °»½ÅÇÒ ¼ö ÀÖ´Ù.
Áï, ²÷ÀÓ¾øÀÌ ÁøÈ­ÇÏ´Â ¿Â¶óÀÎ ¼­ºñ½º°¡ °¡´ÉÇÏ´Ù´Â °ÍÀÌ´Ù.
°è¼Ó Çõ½ÅÀûÀÌ°í Âü½ÅÇÏ°Ô °»½ÅÇÒ ¼ö ÀÖ¾î ¸¹Àº °í°´À» ¸ðÀ» ¼ö ÀÖÀ¸¸ç ÀÎÅÍ³Ý »ó¿¡¼­ÀÇ ÀüÀÚ »ó°Å·¡ ¼ºÀåÀ» ÃËÁø½Ãų °ÍÀÌ´Ù.

 

¿¾³¯ À̾߱â-ÀÚ¹ÙÀÇ Åº»ý

ÀÚ¹ÙÀÇ Åº»ý ¹è°æÀ» ¾Ë¸é ÀÚ¹Ù ¾ð¾îÀÇ Æ¯¼º¿¡ ´ëÇÑ ÀÌÇØ°¡ ½¬¿öÁø´Ù.
ÀÚ¹Ù´Â °¡Àü Á¦Ç°¿¡ µé¾î°¥ ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µé±â À§ÇØ Åº»ýÇß´Ù. ÀÚ¹Ù¸¦ °³¹ßÇÑ »ç¶÷Àº ¼± ¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî »çÀÇ Á¦ÀÓÁî °í½½¸µ(James Gosling)À¸·Î ±×´Â ƯÁ¤ÇÑ ÄÄÇ»ÅÍ Ä¨¿¡ ´ëÇØ ÄÄÆÄÀÏÇÏ¿©¾ß ÇÏ´Â C ¾ð¾îÀÇ ¹®Á¦Á¡, ¶Ç °¡Àü Á¦Ç°ÀÇ ±ä ¼ö¸íÀ¸·Î ÀÎÇÑ ¿Ïº®ÇÑ È£È¯À» °¡Áø ¼ÒÇÁÆ®¿þ¾îÀÇ °³¹ß ¿ä±¸, °¡Àü Á¦Ç°¿¡ »ç¿ëµÉ ¼ÒÇÁÆ®¿þ¾îÀÇ ³ôÀº ½Å·Ú¼º ÇÊ¿ä µîÀÇ ¹®Á¦µé¿¡ ºÀÂøÇß´Ù.
ÀÌ ¹®Á¦µéÀÇ ÇØ°áÃ¥À¸·Î ź»ýÇÑ °ÍÀÌ C¿Í C++ÀÇ ºÒÇÊ¿äÇÑ ºÎºÐÀ̳ª ¹®Á¦°¡ µÉ ºÎºÐµéÀ» Á¦°ÅÇÑ »õ·Î¿î ¾ð¾îÀÎ ÀÚ¹Ù¿´´Ù. ÃÖÃÊ·Î ÀÚ¹Ù¸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÁ§Æ®´Â °¡Àü Á¦Ç°°ú Àü±â ±â±âµéÀ» ÅëÇÕÇÏ¿© °¡Á¤ ȯ°æ¿¡ »õ·Î¿î ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ´Â ±×¸° ÇÁ·ÎÁ§Æ®(Green Project)¿´´Ù. ±×·¯´ø 1993³â, ±×·¡ÇÈ ±â¹ÝÀÇ ¿ùµå¿ÍÀ̵åÀ¥ÀÌ ¹ßÇ¥µÇ°í ÀÚ¹ÙÀÇ °³¹ßÀÚµéÀº °ð ÀÌ·¯ÇÑ À¥ ±â¹ÝÀÇ ÀÀ¿ë ÇÁ·Î±×·¥¿¡´Â ÀÚ¹Ù¿Í °°Àº ±â°è Á߸³ÀûÀÎ ¾ð¾î°¡ ÀÌ»óÀûÀ̶ó´Â °ÍÀ» ¹ß°ßÇÏ¿´´Ù. ±×¸®ÇÏ¿© ±×µéÀÌ °³¹ßÇÑ °ÍÀÌ ³ªÁß¿¡ ÇÖÀÚ¹Ù(HotJava)·Î À̸§ÀÌ ¹Ù²ï À¥·¯³Ê(WebRunner)¶ó´Â À¥ ºê¶ó¿ìÀú¿´´Ù. ÀÌ°ÍÀÌ ÃÖÃÊ·Î ÀÚ¹Ù¸¦ Áö¿øÇÑ À¥ ºê¶ó¿ìÀú°¡ µÇ¾ú´Ù. ÀÚ¹Ù¶ó´Â À̸§Àº Áö¿ªÀÇ ¾î´À Ä¿ÇÇÁ¡ ¾È¿¡¼­ ¾ò¾ú´Ù. ±×·¡¼­ Áö±ÝÀº À¥ ÆäÀÌÁö¿¡¼­ Ç×»ó ²ú°í ÀÖ´Â Ä¿ÇǸ¦ º¼ ¼ö ÀÖ´Ù.
ÀÚ¹Ù°¡ ¿ø·¡ °¡Àü ±â±â Á¦¾î¸¦ À§ÇØ °í¾ÈµÇ¾ú´Ù´Â »ç½ÇÀº ÇöÀç ÀÌ·¯ÇÑ ±â±â¿ëÀ¸·Î ÀÚ¹ÙÀÇ ºÎºÐÁýÇÕÀ̶ó ÇÒ ¼ö Àִ  PersonalJava(³×Æ®¿÷ ¿¬°á °¡´ÉÇÑ °³ÀÎ¿ë ¼Òºñ ±â±âÀÇ ÀÚ¹Ù ¼ÒÇÁÆ®¿þ¾î Ç÷§Æû), EmbeddedJava(Embedded ÀåÄ¡-À̵¿ ÀüÈ­, »ß»ß, »ç¹«½Ç ÁÖº¯ ±â±â, ³×Æ®¿÷ ¶ó¿ìÅÍ, ½ºÀ§Ä¡ µîÀÇ ÀåÄ¡- Àü¿ë ÀÚ¹Ù ¼ÒÇÁÆ®¿þ¾î Ç÷§Æû)°¡ °¢±¤À» ¹Þ°í ÀÖ´Â Çö½ÇÀ» Àß ¼³¸íÇØÁØ´Ù.

°´Ã¼, Ŭ·¡½º, Ŭ·¡½º ÆÄÀÏ

½ÃÀÛ¿¡ ¾Õ¼­ ÀÚ¹Ù¿¡¼­ °¡Àå ¸ÕÀú ºÎ´ÚÄ¡°Ô µÇ´Â °³³äÀ» ¼³¸íÇÏ°íÀÚ ÇÑ´Ù.
ÀÚ¹Ù´Â C++¿Í À¯»çÇÏ°Ô Å¬·¡½º °³³äÀ¸·Î ÇϳªÀÇ °´Ã¼¸¦ Ç¥ÇöÇÑ´Ù. C++ÀÇ Å¬·¡½º°¡ ¸â¹ö º¯¼ö¿Í ¸â¹ö ÇÔ¼ö·Î ±¸¼ºÀÌ µÇµíÀÌ ÀÚ¹ÙÀÇ Å¬·¡½ºµµ ¸â¹ö º¯¼ö¿¡ ÇØ´çÇÏ´Â Çʵå¿Í ¸â¹ö ÇÔ¼ö¿¡ ÇØ´çÇÏ´Â µµ±¸(method)·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
Ŭ·¡½º °³³ä¿¡ Àͼ÷ÇÏÁö ¾ÊÀº C ÇÁ·Î±×·¡¸Ó¶ó¸é È®ÀåµÈ ±¸Á¶Ã¼(struct)¶ó°í »ý°¢Çصµ ÁÁ´Ù. Áï ±¸Á¶Ã¼´Â º¯¼öµé¸¸À¸·Î ±¸¼ºµÇ¾î ÀÖÁö¸¸ Ŭ·¡½º´Â º¯¼ö¿¡´Ù ÇÔ¼ö¸¦ Ãß°¡ÇÑ °³³äÀÌ´Ù.
 

°´Ã¼¿Í Ŭ·¡½º

ÀϹÝÀûÀ¸·Î °´Ã¼´Â »óÅÂ¿Í ÇàÀ§·Î ±¸¼ºµÈ´Ù. ¿¹¸¦ µé¾î ¿¡¾îÄÜÀ̶ó´Â °´Ã¼¸¦ »ý°¢Çغ¸ÀÚ. 
¿¡¾îÄÜ °´Ã¼´Â Àü¿øÀÇ ON/OFF »óÅÂ, ³Ã¹æ °­µµ, ÇöÀç ¿Âµµ µî ¸î °¡Áö »óÅ Á¤º¸¸¦ °¡Áø´Ù. 
ÀÌ°ÍÀ» Çʵå·Î º¼ ¼ö ÀÖ´Ù. 
±×¸®°í ¸Þ¼Òµå¿¡ ÇØ´çÇÏ´Â °ÍÀ¸·Î Àü¿ø²ô´Â ÇàÀ§¿Í ³Ã¹æ ¼öÇà ÇàÀ§¸¦ µé ¼ö ÀÖ´Ù. 
ÀÚ¹ÙÀÇ ¹®¹ýÀ¸·Î ¿¡¾îÄÜ °´Ã¼¸¦ Ç¥ÇöÇغ¸¸é ´ÙÀ½°ú °°ÀÌ µÉ °ÍÀÌ´Ù. 

class AirCon {
    // ¾Æ·¡ ¼¼ °¡Áö´Â ¸â¹ö Çʵå·Î »óÅ Á¤º¸¸¦ °¡Áø´Ù.
    boolean isPowerOn; // Àü¿øÀÌ ÄÑÁö¸é true °ªÀ» ²¨Áö¸é false °ªÀ» °¡Áø´Ù.
    int coolingLevel; // ³Ã¹æ °­µµ¿¡ µû¶ó 1¿¡¼­ 5ÀÇ °ªÀ» °¡Áø´Ù.
    int currentTemperature; // ÇöÀç ¿Âµµ
    // ¾Æ·¡´Â ÀÌ °´Ã¼ÀÇ ¼¼ °¡Áö ¸Þ¼ÒµåÀÌ´Ù. 
    void setPower(boolean on) {
        isPowerOn=on; // on ÀÎÀÚ°¡ trueÀ̸é Àü¿øÀ» ÄÑ°í falseÀ̸é Àü¿øÀ» ²ö´Ù.
    }

    void setCoolingLevel(int level) { 
        coolingLevel=level; // ÇöÀçÀÇ ³Ã¹æ °­µµ¸¦ ¼³Á¤ÇÑ´Ù. 
    } 

    void runCooling() { 
        /* ½ÇÁ¦ ³Ã¹æ ÇàÀ§°¡ ¿©±â¿¡ µé¾î°£´Ù. 
           ÇöÀç ¿Âµµ¸¦ ÃøÁ¤ÇÏ°í ÁöÁ¤µÈ ³Ã¹æ°­µµ¿¡ ¸Â°Ô ³Ã¹æ ¸ðÅ͸¦ ´õ »¡¸® µ¹¸± °ÍÀÎÁö 
           ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù. 
        */ 
    } 
}

¸ðµç ÀÚ¹Ù ÇÁ·Î±×·¥Àº ÀÎÅÍÇÁ¸®ÅÍ°¡ ±â°è µ¶¸³ÀûÀÎ ¹ÙÀÌÆ® ÄÚµå ÆÄÀÏÀ» Àоîµé¿© ½ÇÇà½ÃÅ°´Âµ¥ ÀÌ ¹ÙÀÌÆ® ÄÚµå ÆÄÀÏ Çϳª¿¡´Â ÇϳªÀÇ Å¬·¡½º°¡ ´ëÀÀµÈ´Ù. Áï, ÀÚ¹ÙÀÇ ¹ÙÀÌÆ® ÄÚµå ÆÄÀÏÀº °¢°¢ÀÌ ÇϳªÀÇ Å¬·¡½º¸¦ ´ëÇ¥ÇÏ°í ½ÇÁ¦·Î ±× ÆÄÀÏÀÇ È®ÀåÀÚ´Â .classÀÌ´Ù. ÅؽºÆ®·Î µÈ ¼Ò½º ÆÄÀÏÀº È®ÀåÀÚ°¡ .javaÀÌ´Ù. ¸¸¾à¿¡ ÇϳªÀÇ ÀÚ¹Ù ¼Ò½º ÆÄÀÏ¿¡ ¸î °³ÀÇ Å¬·¡½º°¡ ¼±¾ðÀÌ µÇ¾î ÀÖ´Ù¸é ÀÌ ¼Ò½º ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ¸é ¼¼ °³ÀÇ ¹ÙÀÌÆ® ÄÚµå ÆÄÀÏÀÌ »ý¼ºµÇ°í °¢ÀÚÀÇ À̸§Àº °¢ Ŭ·¡½º À̸§¿¡ .class È®ÀåÀÚ°¡ ºÙÀº ¸ð¾çÀÌ µÈ´Ù. ÀÚ¹ÙÀÇ ½ÇÇà ÆÄÀÏÀ̶ó ÇÒ ¼ö ÀÖ´Â ÀÌµé ¹ÙÀÌÆ® ÄÚµå ÆÄÀÏÀ» Åë»ó Ŭ·¡½º ÆÄÀÏÀ̶ó ºÎ¸¥´Ù.
ÀÚ¹Ù·Î ¸¸µç ÇÁ·Î±×·¥Àº ¼Ò½º ÆÄÀÏÀÌ ¾ø´õ¶óµµ À̵é Ŭ·¡½º ÆÄÀϸ¸ ÀÖÀ¸¸é ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

ÀÚ¹Ù ¼³Ä¡

ÀÚ¹Ù¸¦ ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏÀÚ.
½ã¿¡¼­´Â JDK(Java Development Kit, ÀÚ¹Ù °³¹ß µµ±¸)¶ó´Â À̸§À¸·Î ÄÄÆÄÀÏ·¯, ÀÎÅÍÇÁ¸®ÅÍ µîÀÇ ¿©·¯ Àڹ٠ȯ°æ µµ±¸µéÀ» ¹èÆ÷ÇÏ°í ÀÖ´Ù. ÀÚ¹Ù´Â ÀÌ·ÐÀûÀ¸·Î °ÅÀÇ ¸ðµç ½Ã½ºÅÛ¿¡ ÀÌ½Ä °¡´ÉÇÏÁö¸¸ ½ãÀÇ Àڹ٠ȨÆäÀÌÁö(http://java.sun.com)¿¡¼­ ¹Ù·Î ±¸ÇÒ ¼ö ÀÖ´Â JDK´Â ¼Ö¶ó¸®½º 2.x ½ºÆÅ ¹öÀü°ú Win32(À©µµ¿ì95¿Í À©µµ¿ìNT), ±×¸®°í ¸Æ OS¿ë(½Ã½ºÅÛ 7.5)ÀÌ´Ù. ¿©±â¼­´Â À©µµ¿ì95¸¦ ±âÁØÀ¸·Î ¼³¸íÇÑ´Ù.
1998³â 5¿ù ÇöÀç 1.1.6 ¹öÀüÀÌ ³ª¿Í ÀÖ´Ù.
¾ÐÃàÀ» Ç®¾î ¼³Ä¡Çϸé \jdk1.1 µð·ºÅ丮°¡ »ý¼ºµÈ´Ù.
[±×¸²] À©µµ¿ì95¿¡ ¼³Ä¡µÈ JDK µð·ºÅ丮
autoexec.bat ÆÄÀÏ¿¡ \jdk1.1\bin µð·ºÅ丮¸¦ °æ·Î·Î ÁöÁ¤Çϸé JDK ¼³Ä¡´Â ³¡³ª´Â ¼ÀÀÌ´Ù. ¼³Ä¡ÇÑ ÈÄ¿¡ 'Cannot find class ...' ¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì¿£ ´ÙÀ½°ú °°ÀÌ Å¬·¡½º °æ·Î¸¦ autoexec.bat ÆÄÀÏ¿¡ ÇÔ²² ÁöÁ¤ÇÑ´Ù. C:\jdk1.1 µð·ºÅ丮¿¡ JDK¸¦ ¼³Ä¡ÇÑ ¿¹ÀÌ´Ù.

set PATH=%PATH%;c:\jdk1.1\bin;
set CLASSPATH=c:\jdk1.1\lib\classes.zip;.;

Ŭ·¡½º °æ·Î¸¦ ÁöÁ¤ÇÒ ¶§ ÇöÀç µð·ºÅ丮(.)¸¦ ÇÔ²² ÁöÁ¤ÇÑ´Ù.
¼Ö¶ó¸®½º¿¡¼­´Â ¼³Ä¡ÇÑ µð·ºÅ丮°¡ /usr/javaÀÎ °æ¿ì ´ÙÀ½°ú °°ÀÌ Å¬·¡½º °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù.

PATH=${PATH}:/usr/java/bin
export PATH
CLASSPATH=/usr/java/lib/classes.zip:.
export CLASSPATH
set path=( ${path} /usr/java/bin )
setenv CLASSPATH /usr/java/lib/classes.zip:.

JDK ¼³Ä¡°¡ ³¡³ª¸é ÇʼöÀûÀÎ ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö ȯ°æÀº °®Ãá °ÍÀÌ´Ù.

Àڹ٠ȯ°æ µµ±¸ÀÇ »ç¿ë¹ý

Àڹ٠ȯ°æ µµ±¸¶õ /java/bin µð·ºÅ丮¿¡ µé¾î ÀÖ´Â ¿©·¯ °¡Áö ½ÇÇà ÇÁ·Î±×·¥µéÀ» ¸»ÇÑ´Ù. ÀÚ¹Ù´Â ¾Õ¿¡¼­µµ ¼³¸íÇÑ ´ë·Î ÄÄÆÄÀÏ°ú ÀÎÅÍÇÁ¸®Æ®¸¦ ¸ðµÎ ¼öÇàÇØ¾ß ÇÏ´Â ¾ð¾îÀ̹ǷΠÄÄÆÄÀÏ·¯, ÀÎÅÍÇÁ¸®Å͸¦ Æ÷ÇÔÇÑ ¸î °¡Áö ȯ°æ µµ±¸¸¦ Á¦°øÇÑ´Ù. À©µµ¿ì95¿¡¼­ ȯ°æ µµ±¸µéÀ» ½ÇÇàÇÏ·Á¸é µµ½º â ÇÁ·ÒÇÁÆ®¿¡¼­ ½ÇÇàÇÑ´Ù. ½ÇÁ¦·Î ´ÙÀ½ ¿¹Á¦ ÆÄÀÏÀ» ÀÌ¿ëÇؼ­ Àڹ٠ȯ°æ µµ±¸¸¦ »ç¿ëÇغ¸ÀÚ. ÀÌ ÀÚ¹Ù ÇÁ·Î±×·¥Àº °£´ÜÇÏ°Ô µµ½º â¿¡¼­ "¾È³ç, ÀÚ¹Ù"¶ó´Â ÅؽºÆ®¸¦ Ãâ·ÂÇÑ´Ù.

HelloApp.java
 

1) javac : ÀÚ¹Ù ÄÄÆÄÀÏ·¯ÀÌ´Ù. ÅؽºÆ® ¼Ò½º ÆÄÀÏÀÎ *.java ÆÄÀÏÀ» ±â°è µ¶¸³ÀûÀÎ ¹ÙÀÌÆ® ÄÚµå, *.class·Î ÄÄÆÄÀÏÇØÁØ´Ù. ÀÎÀÚ´Â ÀÚ¹Ù ¼Ò½º ÆÄÀÏ À̸§ÀÌ´Ù. ÀϹÝÀûÀ¸·Î ´ÙÀ½ ¿¹¿Í °°ÀÌ »ç¿ëÇÑ´Ù.
»ç¿ë ¿¹ : javac HelloApp.java
ÇÊ¿ä¿¡ µû¶ó ¼±ÅûçÇ×À» ÁöÁ¤ÇØ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù.
¨ç -classpath '°æ·Î' : javac°¡ Ŭ·¡½º¸¦ °Ë»öÇÒ °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀ» ÁöÁ¤Çϸé ÀÌ¹Ì ÁöÁ¤µÈ CLASSPATH ȯ°æ º¯¼ö °ªÀº ¿À¹ö¶óÀ̵åµÈ´Ù. µð·ºÅ丮 ±¸ºÐÀº ¼¼¹Ì ÄÝ·Ð(;)À¸·Î ÇÑ´Ù.
»ç¿ë ¿¹ : javac -classpath .;C:\java\lib\classes.zip HelloApp.java
¨è -d 'µð·ºÅ丮' : Ŭ·¡½º °èÃþ ±¸Á¶ÀÇ ·çÆ® µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù.
»ç¿ë ¿¹ : javac -d C:\java\demo\hello HelloApp.java
¨é -g : µð¹ö±ë Å×À̺íÀ» »ý¼ºÇÏ°Ô ÇØÁØ´Ù. µð¹ö±ë Å×À̺íÀº ÁÙ ¹øÈ£¿Í Áö¿ª º¯¼ö Á¤º¸-ÀÚ¹Ù µð¹ö±ë µµ±¸¿¡ ÀÇÇØ »ç¿ëµÇ´Â Á¤º¸-¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÃÖÀûÈ­(-O) ¼±ÅûçÇ×ÀÌ ÇÔ²² ÁÖ¾îÁöÁö ¾ÊÀ¸¸é ´ÜÁö ÁÙ ¹øÈ£¸¸ »ý¼ºµÈ´Ù.
¨ê -nowarn : °æ°í ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏÁö ¾Ê´Â´Ù.
¨ë -O : static, final and private µµ±¸µé¿¡ ÀζóÀÎ ±â¹ýÀ» »ç¿ëÇÏ¿© ÃÖÀûÈ­ÇÑ´Ù. ÀÌ·¸°Ô µÇ¸é Ŭ·¡½º ÆÄÀÏÀº Å©±â°¡ Ä¿Áø´Ù. (C++ÀÇ inline ¿¹¾à¾î¿Í °°Àº ¹æ¹ýÀÌ´Ù. ÀÌ ¹æ¹ýÀº ÇÔ¼ö Á¡ÇÁÀÇ ¿À¹öÇìµå¸¦ ¸·±â À§ÇØ ÄÄÆÄÀÏ ½Ã¿¡ ½ÇÁ¦ Äڵ带 °¢ ÇÔ¼ö ´ë½Å¿¡ Á÷Á¢ »ðÀÔÇÏ´Â ¹æ¹ýÀ» ¾²´Â °ÍÀÌ´Ù.)
¨ì -verbose : ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿¿¡°Ô ÇöÀç ÄÄÆÄÀϵǰí ÀÖ´Â ¼Ò½º ÆÄÀÏ°ú ÀûÀçµÇ´Â Ŭ·¡½º ÆÄÀÏÀÇ À̸§À» Ãâ·ÂÇÏ°Ô ÇÑ´Ù.

2) java : ÀÚ¹Ù ÀÎÅÍÇÁ¸®ÅÍÀÌ´Ù. Ŭ·¡½º ÆÄÀÏÀ» ½ÇÇàÇÑ´Ù. Ŭ·¡½º À̸§À» ÀÎÀÚ·Î ¹Þ´Â´Ù.
»ç¿ë ¿¹ : java HelloApp
javaw : °°Àº ÀÚ¹Ù ÀÎÅÍÇÁ¸®ÅÍÀÌÁö¸¸ ÄܼÖ(À©µµ¿ì 95¿¡¼­ µµ½º â)¿¡¼­ µ¶¸³µÈ À©µµ¿ì¸¦ ¸¸µé¾î³½´Ù. ÄַܼÎÀÇ Ãâ·ÂÀº ÇàÇÏÁö ¾Ê´Â´Ù. ¿¹¸¦ µé¾î ¾ÖÇø´ºä¾î¸¦ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ½ÇÇàÇؼ­ µÎ °á°ú¸¦ ºñ±³ÇØ º¸¶ó.
java(w) sun.applet.AppletViewer example1.html
javaw·Î ½ÇÇàÇÑ °æ¿ì¿¡´Â ÄַܼΠÃâ·ÂÀ» ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
3) javadoc : class ÆÄÀÏÀÇ ÆÐÅ°Áö, °èÃþ ±¸Á¶, µµ±¸ µîÀ» HTML ¹®¼­·Î ¸¸µé¾îÁØ´Ù. Ŭ·¡½º À̸§À» ÀÎÀÚ·Î ¹Þ´Â´Ù.
»ç¿ë ¿¹ : javadoc HelloApp
4) javah : ÇØ´ç ¾ÖÇ÷¯ÄÉÀ̼ÇÀÇ C ½ºÅÓ Çì´õ ÆÄÀÏÀ» »ý¼ºÇØÁØ´Ù. ÀÎÀڷΠŬ·¡½º À̸§À» ¹Þ´Â´Ù.
»ç¿ë ¿¹ : javah HelloApp
5) javap : ÀÚ¹Ù ¿ª¾î¼Àºí·¯ÀÌ´Ù. Ŭ·¡½º ÆÄÀÏÀ» ¿ø½Ã ÄÚµå·Î ¿ª¾î¼ÀºíÇØÁØ´Ù. ¿ÏÀüÇÑ ¼Ò½º ÆÄÀÏÀ» ±¸ÇÒ ¼ö´Â ¾ø´Ù. ÀÎÀڷΠŬ·¡½º À̸§À» ¹ÞÀ¸¸ç ¿ª¾î¼ÀºíÇÑ °á°ú¸¦ Ç¥ÁØ Ãâ·Â(ÄܼÖ)À¸·Î ³»º¸³½´Ù.
»ç¿ë ¿¹ : javap -c HelloApp > HelloApp.txt
6) jdb : ÀÚ¹Ù µð¹ö°ÅÀÌ´Ù. À¯´Ð½ºÀÇ µð¹ö°ÅÀÎ dbx¿Í À¯»çÇÑ ±â´ÉÀ» °®°í ÀÖÀ¸¸ç ÀÎÀڷΠŬ·¡½º À̸§À» ¹Þ´Â´Ù. µð¹ö°Å ÇÁ·ÒÇÁÆ®¿¡¼­ help¸¦ ÀÔ·ÂÇÏ¸é »ç¿ë°¡´ÉÇÑ ¸í·É¾îµéÀ» ¾Ë ¼ö ÀÖ´Ù. µð¹ö°Å¸¦ Á¦´ë·Î »ç¿ëÇÏ·Á¸é Ŭ·¡½º ÆÄÀÏÀ» ÄÄÆÄÀÏÇÒ ¶§ dbxÀÇ °æ¿ì¿Í °°ÀÌ -g ¿É¼ÇÀ¸·Î ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù.(¿¹ : javac -g HelloApp.java)
»ç¿ë ¿¹ : jdb HelloApp
jdb
¿¡¼­ »ç¿ëµÇ´Â ¸í·É¾î´Â ´ÙÀ½ ¸µÅ©¸¦ ÂüÁ¶ÇÑ´Ù. JDB Command List
ÅëÇÕ µð¹ö±ë ȯ°æÀÌ ÇÊ¿äÇÏ´Ù¸é »ó¿ë ÀÚ¹Ù °³¹ß ȯ°æÀ» ±¸ÀÔÇ϶ó. (º¼·£µå Jºô´õ, ½Ã¸ÇÅØ ºñÁÖ¾ó ±îÆä, ½ã ÀÚ¹Ù¿öÅ©¼¥, MS ºñÁÖ¾óJ++ µîÀÌ ÀÖ´Ù.)
7) appletviewer : HTML ¹®¼­¿¡ Æ÷ÇԵǾî ÀÖ´Â ¾ÖÇø´À» ½ÇÇà½ÃÄÑÁØ´Ù. ÀÏÁ¾ÀÇ À¥ ºê¶ó¿ìÀú·Î¼­ <applet> ű׸¸ ã¾Æ¼­ ¾ÖÇø´À» º¸¿©ÁØ´Ù. ÀÎÀÚ·Î URLÀ̳ª HTML ¹®¼­ ÆÄÀÏ À̸§À» ¹Þ´Â´Ù.
´ÙÀ½ ±×¸²Àº JDKÀÇ java/demo/TumblingDuke µð·ºÅ丮¿¡¼­ ¾ÖÇø´ºä¾î¸¦ ½ÇÇàÇÑ °á°úÀÌ´Ù.
[±×¸²] ¾ÖÇø´ºä¾î ½ÇÇà ¿¹
»ç¿ë ¿¹ : appletviewer example1.html

ÀÌ¿Ü¿¡µµ ¿©·¯ °¡Áö ȯ°æ µµ±¸°¡ JDK¿¡ ÇÔ²² Á¦°øµÇ¹Ç·Î Á»´õ ÀÚ¼¼È÷ ¾Ë°í ½ÍÀ¸¸é http://java.sun.com/products/jdk/1.1/docs/tooldocs/ »çÀÌÆ®¸¦ Âü°íÇ϶ó.



´ÙÀ½ ÆäÀÌÁö »öÀÎ