본문 바로가기

Java Reflection

(2)
Java Reflection(2) Field - 필드 변수에 접근Java 클래스에서 필드는 클래스나 인터페이스 안에서 선언된 변수를 의미하며 이는 정적 상수나 객체 변수같이 클래스 내에서 선언된 변수가 될 수 있다.Field 클래스는 필드를 나타내며 필드의 이름과 타입 등 다양한 특성 정보를 가지고 있다. 이러한 Field 객체를 생성하는 것에는 Constructor를 생성하는 것처럼 Field 객체도 여러가지 방법이 존재한다.Class.getDeclaredFields()클래스에 선언된 접근 제어자에 상관없이 모든 필드를 배열로 반환한다. - 상속받은 필드는 제외한다. Class.getFields()public으로 선언된 모든 필드를 배열로 반환한다. - 상속받은 필드도 포함한다. Class.getDeclaredField(fieldNam..
Java Reflection(1) Java Reflection이란?Java Reflection은 언어이자 JVM의 기능이며, 앱이 실행하는 동안에 클래스와 객체 정보를 추출할 수 있다.Reflection API로 유연한 코드를 작성할 수 있으며, 프로그램 실행 단계에서 다양한 소프트웨어 컴포넌트를 연결하고 소스 코드를 수정하지 않고 새로운 프로그램 순서를 만들어 낼 수 있다. 또한 Reflection으로 다목적 알고리즘도 작성할 수 있다.  우리가 보통 작성하고 프로그램은 데이터를 넣고 분석해서 작업을 수행하고 출력값을 돌려준다. 반면에 Reflection으로 프로그램을 작성하면 데이터와 코드를 모두 입력값으로 인식하고 분석해 작업을 수행하고 출력값을 낸다. Reflection은 프로그램을 실행하면서 앱 객체와 클래스를 분석하고 앱 객체..