// HelloClient.java
import hello.*;           // IDLÀ» º¯È¯ÇÏ¿© »ý±ä ÆÐÅ°Áö
import org.omg.CosNaming.*;  // CORBA ÀÌ¸§ ¼­ºñ½º¸¦ ¾µ °æ¿ì ÀÓÆ÷Æ®
import org.omg.CORBA.*;      // CORBA¸¦ »ç¿ëÇÒ °æ¿ì Ç×»ó ÀÓÆ÷Æ®
	
public class HelloClient
{
	public static void main(String args[])
	{
		try{
			// ¸ÕÀú ORB¸¦ ÃÊ±âÈ­ÇÏ¿© ÀÎ½ºÅÏ½º¸¦ »ý¼ºÇÑ´Ù.
			ORB orb = ORB.init(args, null);
			// ÀÌ¸§ ¼­ºñ½º¿¡ ´ëÇÑ ÂüÁ¶¸¦ ±¸ÇÑ´Ù.
			org.omg.CORBA.Object objRef = 
				orb.resolve_initial_references("NameService");
			NamingContext ncRef = NamingContextHelper.narrow(objRef);
			// ÀÌ¸§ ¼­ºñ½º¿¡¼­ "HelloServer"¿¡ ´ëÇÑ ÂüÁ¶¸¦ ±¸ÇÏ¿©
			// ¼­¹öÂÊ Hello °´Ã¼¿¡ ´ëÇÑ ÂüÁ¶¸¦ ¾ò´Â´Ù.
			NameComponent nc = new NameComponent("HelloServer", " ");
			NameComponent path[] = {nc};
			Hello helloRef = HelloHelper.narrow(ncRef.resolve(path));
			// ¼­¹öÂÊ Hello °´Ã¼ÀÇ hello() ¸Þ¼Òµå È£ÃâÇÑ´Ù.
			String Hello = helloRef.hello();
			System.out.println(Hello);
		} catch(Exception e) {
			e.printStackTrace();
		}  
	}
}
