spring

@Retention - annotation Target

designercoding 2021. 5. 5. 10:45

어노테이션의 적용되는 시점(RUNTIME)을 결정하는 것으로 메모리에 넣고 빼는 시점을 결정하는 것으로 보통 @Target 어노테이션과 같이 사용한다.

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)

 

적용시점(RUNTIME)

표현 타입

RetentionPolicy.CLASS

클래스 파일에 있는 어노테이션정보가 컴파일러에 의해 참조 가능, 가상머신에서는 사라짐(리플렉션 불가, 디폴트)

RetentionPolicy.SOURCE

어노테이션 정보가 컴파일 시 사라짐

RetentionPolicy.RUNTIME

실행 시 어노테이션 정보가 가상머신에 의해서 참조 가능

 

사용방법

@Retention(RetentionPolicy.RUNTIME)

 

반응형