[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(리플렉션)을 사용하면 실행 중인 자바 애플리케이션에서 클래스의 필드 정보를 얻을 수 있습니다. 필드의 이름, 타입 등의 정보를 동적으로 얻어와서 원하는 작업에 활용할 수 있습니다.

참고 자료: