[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);
}
'Java' 카테고리의 다른 글
[JAVA] 자바 - JDBC (Java Database Connectivity) (Connection, DriverManager) (0) | 2022.08.21 |
---|---|
[JAVA] 자바 - Class 클래스로 객체 생성 방법! (0) | 2022.08.03 |
[JAVA] 자바 - Enumeration 인터페이스와 Properties (0) | 2022.08.03 |
[JAVA] 자바 - annotation / 빌트인 어노테이션, 메타 어노테이션 (0) | 2022.08.02 |
[JAVA] 자바 - Comparator 으로 성적처리 프로그램 정렬!! (0) | 2022.08.02 |
블로그의 정보
개발자 미니민의 개발로그
mini_min