Reflection

리플렉션

자바 리플렉션 (Reflection)

리플렉션이란?


사용할 때


사용법

Class<?> c = Class.forName("클래스명"); //클래스 정보 가져오기

Object o = c.newInstance(); //인스턴스 생성

Method[] m = c.getDeclareMethods(); //모든 메서드들 가져오기

Method[] ma = c.getMethods(); // public 메서드들,  상속 받은 메서드들 가져오기

Method m = c.getMethod("함수명", 매개변수 자료형.class); //특정 함수

m.invoke(객체 포인터, 매개변수); //함수 실행

Field[] fields = c.getFields(); //상속받은 객체의 public 필드까지 찾아줌

Field field = c.getField("필드명"); //특정 public 필드 찾기

Field field = c.getDeclaredField("필드명"); //특정 필드 찾기

int parameterCount = m.getParameterCount(); //파리미터 갯수

Class<?>[] parameterTypes = c.getParameterTypes(); //파라미터 타입

Annotation[][] a = m.getParameterAnnotations(); //파라미터의 애노테이션들

...


출처

https://kdg-is.tistory.com/entry/JAVA-%EB%A6%AC%ED%94%8C%EB%A0%89%EC%85%98-Reflection%EC%9D%B4%EB%9E%80