public class StringTest { public static void main(String[] args) throws ClassNotFoundException {
Class c = Class.forName("java.lang.String"); // Constructor의 목록을 배열로 가져온다. Constructor[] cons = c.getConstructors(); for (Constructor co : cons) { System.out.println(co); } // 메소드의 목록을 가져온다. Method[] m = c.getMethods(); for (Method mth : m) { System.out.println(mth); } } }
인스턴스 생성
reflection 프로그래밍
Class 클래스를 사용하여 클래스의 정보 등을 알 수 있고, 인스턴스를 생성, 메서드를 호출하는 방식의 프로그래밍
public class ClassTest { public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException { // 1. Class 이름으로 invoke(호출)하기 Class c1 = Class.forName("ch04.Person"); // Person 타입으로 Casting Person person = (Person)c1.newInstance();