ÀÚ¹Ù´Â Ç÷§Æû¿¡ µ¶¸³ÀûÀÎ ¾ð¾î¶ó°í ÇÕ´Ï´Ù. ÀÌ ¸»Àº ¿î¿µÃ¼°è°¡ WindowsÀ̵ç UnixÀÌµç »ó°ü¾øÀÌ Àڹ٠ȯ°æ¸¸ ÀÖ´Ù¸é ¶È°°ÀÌ µ¿ÀÛÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ¾î¶»°Ô ÀÌ·± ÀÏÀÌ ÀϾ ¼ö ÀÖÀ»±î¿ä? ¿©·¯ºÐÀÌ ¾Ë°í ÀÖ´Â ÀϹÝÀûÀÎ ¿î¿µÃ¼Á¦´Â Windows, Unix, Macµî°ú °°Àº °ÍÀÔ´Ï´Ù. ÀÌµé ¿î¿µÃ¼Á¦´Â ³»ºÎÀûÀ¸·Î µ¿ÀÛÇÏ´Â ¿ø¸®°¡ ´Ù¸£°í, ÇÁ·Î±×·¥ÀÌ ÀÛµ¿ÇÏ´Â ¿ø¸®°¡ ´Ù¸¨´Ï´Ù. ÇÏÁö¸¸ Áß°£´Ü°èÀÇ °¡»óÀûÀÎ ¿î¿µÃ¼Á¦¸¦ ¿î¿µÇÔÀ¸·Î½á ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÏ·Á°í ÇÏ´Â °ÍÀÌ ¹Ù·Î ÀÚ¹ÙÀÔ´Ï´Ù. ¿î¿µÃ¼Á¦ÀÇ Áß°£´Ü°è¿¡¼ ÀÚ¹Ù¸¦ ÇØ¼®ÇÏ°í ½ÇÇàÇÏ°Ô ÇÏ´Â ÀÚ¹Ù°¡»ó¸Ó½Å(JVM: Java Virtual Machine)À» µÒÀ¸·Î¼ ÀÚ¹Ù¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. ¹°·Ð, °¡»ó¸Ó½ÅÀº °¢°¢ÀÇ ¿î¿µÃ¼Á¦¿¡ ¸Â°Ô ¸¸µé¾îÁ®¾ß ÇÏÁö¸¸ »ç¿ëÀÚÀÔÀå¿¡¼´Â ¾ÆÁÖ Æí¸®ÇÑ ¿ø¸®ÀÔ´Ï´Ù.
¸¸¾à, ÀÚ¹Ù°¡»ó¸Ó½Å¿¡¼ Á¦°øÇÏÁö ¾Ê´Â ±â´ÉÀ» »ç¿ëÇØ¾ß ÇÒ ¶§°¡ ÀÖ´Ù¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä? º¸Åë ÀÌ·± °æ¿ì´Â Çϵå¿þ¾î µð¹ÙÀ̽º¸¦ Á÷Á¢ ÇÚµéÇϰųª ¿î¿µÃ¼Á¦ÀÇ Æ¯¼öÇÑ ±â´ÉÀ» Á¦¾îÇÏ·Á°í ÇÒ ¶§ ³ªÅ¸³ª´Â ¹®Á¦Á¡ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ, C³ª C++ ȤÀº ¾î¼Àºí¸® ¾ð¾î¸¦ »ç¿ëÇØ¼ ÀÌ °°Àº ÇÁ·Î±×·¥À» ¸¸µé°í, ÀÚ¹Ù¿¡¼ ±× ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰ´Â ¹æ¹ýÀ» »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·± »ý°¢À» °¡´ÉÇÏ°Ô ÇØÁÖ´Â °ÍÀÌ ¹Ù·Î JNI(Java Native Interface)ÀÔ´Ï´Ù. JNI´Â C³ª C++ ȤÀº ¾î¼Àºí¸® ¾ð¾î¿Í °°ÀÌ, ÀÚ¹Ù ÀÌ¿ÜÀÇ ¾ð¾î·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥À» ÀÚ¹Ù°¡»ó¸Ó½Å À§¿¡¼ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇØ ÁÝ´Ï´Ù. Áï, ÀÚ¹Ù°¡ Áö¿øÇÏÁö ¸øÇÏ´Â Ç÷§Æû Á¾¼ÓÀûÀÎ ±â´ÉµéÀ» »ç¿ë ÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌ¹Ì ´Ù¸¥ ¾ð¾î·Î ¸¸µé¾îÁø ¾îÇø®ÄÉÀ̼ÇÀ̳ª ¶óÀ̺귯¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
ÀÚ¹Ù ÆÄÀÏÀ» ÄÄÆÄÀÏÇÏ¸é ¡®.class¡¯ÆÄÀÏÀÌ »ý¼ºµÇ°í, ÀÌ ¡®.class¡¯ÆÄÀÏÀÌ ¹ÙÀÌÆ® ÄÚµå¶õ °ÍÀº ¸ðµÎ ¾Ë°í ÀÖ´Â »ç½ÇÀÔ´Ï´Ù. ¹°·Ð, ¹ÙÀÌÆ® ÄÚµå·Î µÈ ÇÁ·Î±×·¥ÀÌ html°ú °°Àº text±â¹ÝÀÇ ÇÁ·Î±×·¥º¸´Ù ½ÇÇàÀÌ ºü¸¥ °ÍÀº »ç½ÇÀÌÁö¸¸, C³ª C++µîÀÇ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ÇØ¼ ³ª¿À´Â ±â°è¾î·Î µÈ ÇÁ·Î±×·¥ÀÇ ¼Óµµ¿¡´Â ¸ø ¹ÌÄ¡´Â °Í ¶ÇÇÑ »ç½ÇÀÔ´Ï´Ù. µû¶ó¼ ½ÇÇà ¼Óµµ°¡ ¸Å¿ì Áß¿äÇÑ ÀÚ¹ÙÄڵ带 ÀÛ¼ºÇÒ ¶§, JNI¸¦ ÀÌ¿ëÇØ¼ ÇÊ¿äÇÑ ºÎºÐ¸¸ ¾î¼Àºí¸® °°Àº Àú¼öÁØ(Lower-Level)ÀÇ ¾ð¾î¸¦ »ç¿ë ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. »Ó¸¸ ¾Æ´Ï¶ó ¹Ý´ë·Î, C³ª C++·Î ¸¸µç ¾îÇø®ÄÉÀ̼ÇÀÌ ÀÚ¹ÙÀÇ °´Ã¼¸¦ »ý¼ºÇÏ°í ¸Þ¼µå¸¦ È£ÃâÇÏ´Â °Í ¿ª½Ã °¡´ÉÇÕ´Ï´Ù. Áï, JNI¸¦ Àß »ç¿ëÇÑ´Ù¸é ¿ì¸®´Â ÀÚ¹ÙÀÇ ÀåÁ¡°ú ´Ù¸¥ ¾ð¾îÀÇ ÀåÁ¡À» µ¿½Ã¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.
¢Ñ JNI ¶õ? |
ÀÚ¹Ù¿Í ÀÚ¹Ù ÀÌ¿ÜÀÇ ¾ð¾î·Î ¸¸µé¾îÁø ¾îÇø®ÄÉÀ̼ÇÀ̳ª ¶óÀ̺귯¸®°¡ »óÈ£ ÀÛ¿ëÇÒ ¼ö ÀÖµµ·Ï ¿¬°á½ÃÄÑ ÁÖ´Â ÀÎÅÍÆäÀ̽º. |
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ ÀúÀÚ:ÃÖ¿µ°ü |