JAVA Reflection이란?

carlkim·2024년 1월 11일
0

자바기본

목록 보기
6/8

리플렉션이란?

구체적인 클래스 타입을 알지 못하더라도 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API이다.

컴파일 시간이 아닌 실행 시간에 동적으로 특정 클래스의 정보를 추출할 수 있는 프로그램 기법이라 정의되어 있다.

클래스로더를 통해 읽어온 클래스 정보(거울에 반사"된" 정보)를 사용하는 기술.
(클래스 정보는 JVM에 들어있는 ClassLoader가 읽어온다.)

어떤 경우 사용되는지?

코드 작성 시점에는 어떤 타입의 클래스를 사용할지 모르지만,
런타임 시점에 지금 실행되고 있는 클래스를 가져와서 실행해야 하는 경우.

Intelij의 자동완성 기능, 스프링의 어노테이션이 리플렉션을 이용한 기능이다.

자동완성기능 예시

profile
기본부터 가면 됩니다.

0개의 댓글