본문 바로가기

컴퓨터/IT

자바 동적 클래스 로딩 예

//동적 클래스 로딩 : 생성자에 파라미터가 없고 메소드를 호출할경우..
    /*
    Class myclass = Class.forName("com.chol.server.Worker");
    Object obj = myclass.newInstance();
 
    Method dymMethod = obj.getClass().getMethod("job2", new Class[]{java.lang.String.class});
    Object out = dymMethod.invoke(obj, new Object[]{new String("1111")});
    System.out.println((out != null?out.getClass().getName():null) +" : " +out);
    */
   
   
    //동적 클래스 로딩 : 생성자에 파라미터가 있을경우
    Class myclass = Class.forName("com.chol.server.Worker");
   
    //형식 지정...
                Class partypes[] = new Class[3];
                partypes[0] = String.class;
                partypes[1] = String.class;
                partypes[2] = int.class;

                Constructor ct = myclass.getConstructor(partypes);
               
                //값지정..
                Object arglist[] = new Object[3];
               
                arglist[0] = new String("test1");
                arglist[1] = new String("test2");
                arglist[2] = new Integer(111);
                Object myclassInstance = ct.newInstance(arglist);