자바의 리플렉션(Reflection)
리플렉션이란 실행 중인 자바 프로그램에서 클래스, 메서드, 필드 등의 정보를 접근 제어자와 관계없이 동적으로 가져오고 조작할 수 있는 기능을 말합니다. 리플렉션은 자바의 다른 기능들과 결합하여 다양한 프레임워크나 라이브러리에서 활용됩니다.
예를 들어, 스프링 프레임 워크에서는 리플렉션을 사용하여 IoC/DI를 구현합니다. Spring Bean Factory(IoC 컨테이너 구현체 중 하나)가 런타임에 해당 어노테이션이 붙은 클래스를 탐색하고 발견한다면, 리플렉션을 통해 해당 클래스를 Bean 객체로 등록합니다.
이외에도 리플렉션은 웹 요청 파라미터를 컨트롤러 메서드의 인자로 자동 데이터 바인딩할 때 사용됩니다. 리플렉션을 이용해 컨트롤러 메서드의 인자 타입을 확인하고, 웹 요청 파라미터를 해당 타입으로 변환하여 인자로 전달합니다.
'java(자바)' 카테고리의 다른 글
[java(자바)] Java와 C/C++의 차이점 _디버깅의 눈물 (0) | 2023.04.03 |
---|---|
[java(자바)] 자바8의 특징-람다식, 스트림, 새로운 날짜&시간 API _디버깅의 눈물 (0) | 2023.04.02 |
[java(자바)] Generic이란? _디버깅의 눈물 (0) | 2023.03.31 |
[java(자바)] 직렬화(Serialization)와 역직렬화(Deserialization) _디버깅의 눈물 (0) | 2023.03.30 |
[java(자바)] Call by Value와 Call by Reference의 차이 _디버깅의 눈물 (0) | 2023.03.29 |