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 |