[Java] 자바 Reflection API를 사용하여 특정 필드 타입 변수 확인하기 ex) boolean

2023-10-20


사진: Unsplash 의 Pawel Czerwinski


1. 방법

 

 java.lang.reflect Field 를 활용하면 주어진 클래스의 필드 정보를 확인 할 수 있다.

 

public class Person {
    private String name;
    private int age;
    private boolean isStudent;
    private boolean isEmployed;

    // Getter and Setter methods go here...

    public static void main(String[] args) {
        Person person = new Person();
        // Assume you have set values for the fields using setter methods.

        Class<?> personClass = person.getClass();
        Field[] fields = personClass.getDeclaredFields();

        for (Field field : fields) {
            if (field.getType() == boolean.class) {
                try {
                    // private 변수 접근 허용
                    field.setAccessible(true);

                    boolean value = field.getBoolean(person);
                    String fieldName = field.getName();
                    System.out.println(fieldName + ": " + value);
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

메인 이미지 출처 : 사진: UnsplashPawel Czerwinski