[java] 클래스의 필드 정보 얻기
자바 프로그램에서 클래스의 필드 정보를 얻는 방법이 궁금하신가요? 이 포스트에서는 Reflection(리플렉션)을 사용하여 클래스의 필드 정보를 얻는 방법에 대해 알아보겠습니다.
Reflection(리플렉션)이란?
Reflection(리플렉션)은 실행 중인 자바 애플리케이션의 클래스, 인터페이스, 객체 등의 정보를 얻거나 수정할 수 있는 기능을 말합니다. 이를 통해 클래스의 필드, 메소드, 생성자 등의 정보를 동적으로 얻을 수 있습니다.
클래스의 필드 정보 얻기
아래의 예제 코드는 Reflection(리플렉션)을 사용하여 클래스의 필드 정보를 얻는 방법을 보여줍니다.
import java.lang.reflect.Field;
public class FieldInfoExample {
public static void main(String[] args) {
Class<?> clazz = YourClass.class; // YourClass에는 원하는 클래스명을 넣어줍니다.
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
System.out.println("Field name: " + field.getName());
System.out.println("Field type: " + field.getType());
}
}
}
위의 예제 코드에서는 YourClass
에 원하는 클래스명을 넣어주면 해당 클래스의 필드 정보를 출력하는 방법을 보여줍니다.
필드의 이름과 타입을 얻기 위해 clazz.getDeclaredFields()
를 호출하여 해당 클래스의 모든 필드를 얻은 후, 각 필드의 이름과 타입을 출력합니다.
요약
이렇게 Reflection(리플렉션)을 사용하면 실행 중인 자바 애플리케이션에서 클래스의 필드 정보를 얻을 수 있습니다. 필드의 이름, 타입 등의 정보를 동적으로 얻어와서 원하는 작업에 활용할 수 있습니다.
참고 자료: