[JAVA] 자바 - String 클래스 정보 얻기
by mini_min
[JAVA]
자바 - String 클래스 정보 얻기
✔️ 자바 String 정보 얻기
String 클래스에 대한 정보를 얻기 위해서는 Class<?> cls = String.class; //
위와 같이 컴파일 중 클래스에 대한 정보를 얻을 수 있다.
if 런타임시 문자열로 클래스의 정보를 넘겨 받는 경우에는 반드시 패키지명도 포함해야한다.
//Class<?> cls = String.class; // 컴파일 중 클래스에 대한 정보 얻기 Class<?> cls = Class.forName("java.lang.String"); //런타임시 문자열로 클래스의 정보 넘겨 받는 경우(반드시 패키지명 포함하기) System.out.println("상위 클래스.."); if(cls.getSuperclass() != null) { System.out.println(cls.getSuperclass().getName()); }
◼️ 인터페이스 이름 출력
인터페이스를 for 향상문 Class<?> s 에 넣어서 인터페이스 이름을 출력할 수도 있다. (getName 으로)
System.out.println("인터페이스 .."); for(Class<?> c : cls.getInterfaces()) { System.out.println(c.getName()); }
◼️ 생성자 정보 출력
생성자 출력하기 위해서는 Constructor<?> [] cc = cls.getConstructors(); 으로 정보를 출력한다. cls 는 Class 클래스의 객체이고, 생성자를 받는 Constructor 클래스를 만들어내고 for 향상문에 넣어서 정보를 출력할 수 있다.
System.out.println("생성자..."); Constructor<?> [] cc = cls.getConstructors(); for(Constructor<?> c : cc) { System.out.println(c); }
◼️ 필드정보 출력
필드 정보를 출력할 때, public 필드 출력과 private 포함 모든 필드 정보를 출력하는 코드가 좀 다르다.
System.out.println("필드..."); //Field[] ff = cls.getField(); //public 필드 Field[] ff = cls.getDeclaredFields(); //private 포함 모든 필드 for(Field f : ff) { System.out.println(f); }
◼️ 메소드 정보 출력
메소드 정보를 출력할 때, public 메소드만 출력하는 경우, private 포함 모든 메소드 출력하는 코드가 각각 다르다!
필드 정보 호출하는 코드와 유사하니까 둘 중 하나라도 제대로 기억하자!!
System.out.println("메소드.."); //Method[] mm = cls.Methods(); // public 메소드만 Method[] mm = cls.getDeclaredMethods();//private 포함 모든 메소드 for(Method m : mm) { System.out.println(m); }
블로그의 정보
개발자 미니민의 개발로그
mini_min