728x90
반응형
SMALL

Reflection 소개

- 힙 영역에 로드돼 있는 클래스 타입의 객체를 통해 필드/메소드/생성자를 접근 제어자와 상관 없이 사용할 수 있도록 지원하는 API (class.class, instance.getclass, class.fullname)

- 컴파일 시점이 아닌 런타임 시점에 동적으로 특정 클래스의 정보를 추출해낼 수 있는 프로그래밍 기법이기도 합니다.

- 주로 프레임워크 또는 라이브러리 개발 시 사용됨

사용법 링크 : https://www.baeldung.com/reflections-library

* 참고로 jvm의 클래스 로더는 클래스 파일에 대한 로딩이 끝나면 클래스 타입의 객체를 생성해서 메모리 힙 영역에 저장합니다.

Reflection 사용하는 프레임워크/라이브러리 소개

- Spring 프레임워크 (ex. DI)

- Test 프레임워크 (ex. JUnit)

- JSON Serialization/Deserialization 라이브러리 (ex. Jackson)

- 등등

실습

- @Controller 애노테이션이 설정돼 있는 모든 클래스를 찾아서 출력한다.

 

728x90
반응형
LIST

'MVC' 카테고리의 다른 글

DI 개념 소개 및 장점  (6) 2024.10.11
MVC 프레임워크 개념 소개  (3) 2024.10.11
프런트 컨트롤러 개념 소개  (8) 2024.10.10

+ Recent posts