본문으로 건너뛰기

#Reflection

4
Java EcoJava programming

Reflection; Public constructor

Java 클래스의 생성자는 제네릭 클래스인 Constructor 의 인스턴스로 나타낸다 이 객체는 클래스 생성자의 모든 정보를 포함하고 있다. 파라미터의 수 파라미터의 타입 클래스에는 여러개의 생성자가 있을 수 있다. Class.getDeclaredConstructos() : 클래스의 모든 생성자를 반환한다. public이거나 아니거나 상관없이 모두 반환한다. Class.getConstructors() : Public 생성자만 반환한다. 특정 생성자 매개변수 유형을 알고 있는 경우 파라미터의 타입을 나타내는 타입 목록을 전달할 수
Java EcoJava programming

Reflection; Class Object

JVM 기능 런타임 동안 클래스와 객체 정보를 추출할 수 있음 Reflection API로 접근 가능 JDK에 포함된 클래스 집합 소스 코드를 수정하지 않고 새로운 프로그램 순서를 만들 수 있음. 실행하고 있는 클래스와 객체에 동적으로 코드 삽입. 실제로 사용하는 곳 로깅 프레임워크 ORM Spring Framework JUnit Jackson @Autowired @Configuration @Bean bean을 정의하고 의존성을 주입하는 과정이 reflection을 통해 이뤄짐. Reflection을 사용해 클래스를 확인하고 필드를
Java EcoTILJava programming

Java; Class

java.lang.*은 컴파일 할때 자동으로 추가된다. Object클래스는 모든 자바 클래스의 최상위 클래스다. 모든 클래스는 Object 클래스로부터 상속을 받는다. 클래스를 만들때 extends Object를 하지 않지만, 컴파일 과정에서 자동으로 들어간다. 모든 클래스가 Object 클래스를 상속 받았으므로 Object의 메소드를 사용할 수 있고 재정의 할 수도 있다 String toString() : 객채를 문자열로 표현하여 반환한다. 재정의하여 객체에 대한 설명이나 특정 맴버변수 값을 반환한다. boolean equals(
Java EcoTILJava programming

Java; Reflection 개요

자바에서 제공하는 리플렉션(Reflection)은 C, C++과 같은 언어를 비롯한 다른 언어에서는 볼 수 없는 기능입니다. 이미 로딩이 완료된 클래스에서 또 다른 클래스를 동적으로 로딩(Dynamic Loading)하여 생성자(Constructor), 멤버 필드(Member Variables) 그리고 멤버 메서드(Member Method) 등을 사용할 수 있도록 합니다. 그러니까, 컴파일 시간(Compile Time)이 아니라 실행 시간(Run Time)에 동적으로 특정 클래스의 정보를 객체화를 통해 분석 및 추출해낼 수 있는 프