728x90
리플렉션이란
리플렉션은 구체적인 클래스 타입을 알지 못해도, 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API
왜 사용하는가
자바는 정적 언어로 동적인 문제를 해결하기 위해 사용한다.
정적 언어 vs 동적 언어
정적 언어: 컴파일 시점에 타입을 결정
동적 언어: 런타임 시점에 타입을 결정
대표적인 사용
스프링의 DI(dependency injection), ModelMapper 등
리플렉션은 어플리케이션 개발보다 프레임워크 및 라이브러리에서 많이 사용된다.
런타임 시점에 지금 실행되고 있는 클래스를 가져와서 실행해야 하는 경우( intelliJ 의 자동완성)
728x90
'Java' 카테고리의 다른 글
[Java] "== vs equals" (0) | 2022.05.27 |
---|---|
[Java] 스코프(scope) : { } (0) | 2022.05.20 |
[Java] 암시적 형변환 (0) | 2022.05.17 |
[Java] 상수, 리터럴 (0) | 2022.05.10 |
[Java] 전역(glpbal)변수, 정적(static)변수 (0) | 2022.03.25 |
댓글