1´Ü°è´Â ¼ºñ½ºÇÒ ¿ø°Ý °´Ã¼ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇÏ´Â ÀÏÀÔ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÌ ¿ø°Ý °´Ã¼ÀÇ ¸Þ¼µå¸¦ È£ÃâÇϱâ À§Çؼ´Â ½ÇÁ¦·Î ¿ø°Ý °´Ã¼°¡ ¾î¶² ¸Þ¼µå¸¦ °¡Áö°í ÀÖ´ÂÁö ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ¼¹ö´Â ¿ø°Ý °´Ã¼ÀÇ ¸Þ¼µå¸¦ ¿ø°Ý °´Ã¼¿¡°Ô ¾Ë·ÁÁÖ±â À§Çؼ ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé¾î Á¦°øÇÕ´Ï´Ù. ¿ø°Ý °´Ã¼ÀÇ ÀÎÅÍÆäÀ̽º´Â ¿ø°Ý °´Ã¼°¡ ½ÇÁ¦ Á¦°øÇÒ ¸ðµç ¸Þ¼µåµéÀÇ ÇüŸ¦ Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Á¦°øµÇ¾î¼, Ŭ¶óÀÌ¾ðÆ®°¡ ¿ø°Ý °´Ã¼ÀÇ ÇüŸ¦ ÁüÀÛÇÒ ¼ö ÀÖ°Ô²û ÇØÁÝ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ RMI Registry·ÎºÎÅÍ ¹Ýȯ ¹Þ´Â ¿ø°Ý ÂüÁ¶ÀÚµµ ÀÌ·¯ÇÑ ÀÎÅÍÆäÀ̽ºÀÇ ÇüÅÂÀÔ´Ï´Ù. ¿ø°Ý °´Ã¼ÀÇ ÀÎÅÍÆäÀ̽º´Â ´ÙÀ½ÀÇ »çÇ×À» ¹Ýµå½Ã µû¶ó¾ß ÇÕ´Ï´Ù.
n ¿ø°Ý ÀÎÅÍÆäÀ̽º¶ó´Â °ÍÀ» ¾Ë¸®±â À§ÇØ java.rmi.Remote ÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó ¹Þ¾Æ¾ß ÇÑ´Ù
n ¹Ýµå½Ã ¸ðµç ¸Þ¼µåÀÇ Á¢±Ù ÁöÁ¤ÀÚ´Â publicÀ¸·Î ¼±¾ðÇØ¾ß ÇÑ´Ù
n ¸ðµç ¸Þ¼µå´Â java.rmi.RemoteException ŸÀÔÀÇ ¿¹¿Ü¸¦ ¹ß»ý½ÃŲ´Ù°í ¾Ë·Á¾ß ÇÑ´Ù
java.rmi.Remote ÀÎÅÍÆäÀ̽º´Â RMI¿¡¼ »ç¿ëµÇ´Â ´ëºÎºÐÀÇ °´Ã¼µéÀÌ Á÷Á¢, °£Á¢ÀûÀ¸·Î ±¸ÇöÇÏ´Â ÃÖ»óÀ§ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
n public interface Remote { };
ÀÌ ÀÎÅÍÆäÀ̽º´Â ±¸ÇöÇØ¾ß ÇÒ ¸Þ¼µå¸¦ ÇÑ °³µµ °¡Áö°í ÀÖÁö ¾Ê°í, ´Ü¼øÈ÷ ÀÌ °´Ã¼°¡ RMI¿¡¼ »ç¿ëµÉ °ÍÀÓÀ» ¾Ë·ÁÁִ ǥ½Ã[Marker]ÀÎÅÍÆäÀ̽º ÀÔ´Ï´Ù. (ÀÌ¿Í ºñ½ÁÇÑ ¿ªÇÒÀ» ÇÏ´Â ÀÎÅÍÆäÀ̽º¸¦ 12Àå¿¡¼ »ìÆì º¸¾Ò¾ú½À´Ï´Ù. ¹Ù·Î java.io.Serializable ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. »ý°¢³ª½ÃÁÒ?) ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÔÀ¸·Î½á ¿ì¸®°¡ ¸¸µé ¿ø°Ý °´Ã¼ÀÇ ÂüÁ¶ÀÚ°¡ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Àü¼ÛÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ, ¿ø°Ý °´Ã¼°¡ Á¦°øÇÏ´Â ¸ðµç ¸Þ¼µåµéÀº Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¼ºñ½º Áß¿¡ ¹ß»ýÇÒ ¼ö ÀÖ´Â ³×Æ®¿öÅ© Àå¾Ö¿Í °°Àº ¿¹¿Ü »óȲ¿¡ ´ëÇØ, Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÌ ´ëóÇÒ ¼ö ÀÖµµ·Ï java.rmi.RemoteExceptionÀ» ¹ß»ýÇÑ´Ù°í ¾Ë·ÁÁà¾ß ÇÕ´Ï´Ù. ÀÌ RemoteExceptionÀº RMI °ü·Ã Ŭ·¡½ºµéÀÌ ¹ß»ý½ÃŰ´Â ´ëºÎºÐÀÇ ¿¹¿ÜµéÀÇ ½´ÆÛ Ŭ·¡½º ÀÔ´Ï´Ù.
±×·¯¸é, ½ÇÁ¦·Î Çö±Ý ÀÔÃâ±Ý±â ÇÁ·Î±×·¥À» À§ÇØ ¿ø°Ý °´Ã¼°¡ Á¦°øÇÒ ¸Þ¼µå¸¦ Á¤ÀÇÇØ³õÀº ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇØ º¸°Ú½À´Ï´Ù.
Bank.java (¼¹ö¿Í Ŭ¶óÀÌ¾ðÆ®¿¡¼ »ç¿ëÇÒ ÀÎÅÍÆäÀ̽º¸¦ »ý¼ºÇÑ ¿¹Á¦) |
import java.rmi.*; public interface Bank extends Remote { public int getBalance() throws RemoteException; public int deposit(int amount) throws RemoteException; public int withdraw(int amount) throws RemoteException; } |
C:\JavaExample\18>javac Bank.java |
BankÀÎÅÍÆäÀ̽º´Â ¿ø°Ý °´Ã¼ÀÓÀ» ¾Ë·Á ÁÖ´Â RemoteÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó ¹Þ°í ÀÖ½À´Ï´Ù.
n Public interface Bank extends Remote {
Àܾ×À» È®ÀÎÇϰí, ÀÔ±ÝÀ» ÇØÁÖ°í, Ãâ±ÝÀ» ÇØÁÖ´Â abstract¸Þ¼µåµéÀ» Â÷·Ê·Î »ý¼ºÇÏ¿´½À´Ï´Ù.
n public int getBalance() throws RemoteException;
n public int deposit(int amount) throws RemoteException;
n public int withdraw(int amount) throws RemoteException;
±× ¿Ü¿¡, ¿¹Á¦¿¡ Á¤ÀǵǾî ÀÖ´Â ¸ðµç ¸Þ¼µå°¡ RemoteExceptionÀ» ¹ß»ý½ÃŲ´Ù´Â °Í ¸»°í´Â, ÀÚ¹Ù¿¡¼ÀÇ ÀϹÝÀûÀÎ ÀÎÅÍÆäÀ̽ºÀÇ ¼±¾ð°ú ´Ù¸¥ Á¡ÀÌ ¾ø½À´Ï´Ù.
¢Ñ 1 ´Ü°è |
¿ø°Ý °´Ã¼°¡ ±¸ÇöÇÒ ÀÎÅÍÆäÀ̽º ÀÛ¼º½Ã ¹Ýµå½Ã ÁöÄÑ¾ß ÇÒ ±ÔÄ¢ 1. java.rmi.Remote ÀÎÅÍÆäÀ̽º »ó¼Ó 2. ¸ðµç ¸Þ¼µå´Â public Á¢±Ù ÁöÁ¤ÀÚ·Î ¼±¾ð 3. java.rmi.RemoteExceptionÀ» ¹ß»ý |
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ ÀúÀÚ:ÃÖ¿µ°ü |