-
어노테이션을 만드는 설정 방법
스프링 어노테이션에 대한 소스코드를 보면 @Documented, @Target, @Retention이란 어노테이션을 볼 수 있다.
아래는 다음에 대한 설명들이다.
1. @Retention
- @Retention은 크게 source, class, runtime 세가지로 설정하여 나의 어노테이션을 유지할 수 있다.
이 말은 무엇이냐면 source 까지만 나의 어노테이션을 유지한다면 source파일 즉 컴파일하기 전이라면 나의 어노테이션이 유지되어 있고, 컴파일이 되는 시점엔 나의 어노테이션에 대한 정보는 사라진다.
class로 설정하게 되면 나의 어노테이션에 대한 정보는 .class 파일이 되어서도 여전히 유지된다. 그러나 런타임 시에는 어노테이션에 대한 정보가 사라진다.
runtime은 나의 어노테이션에 대한 정보가 컴파일을 하고 런타임시에도 여전히 유지되며 런타임시에도 해당 어노테이션에 대한 정보를 사용할 수 있다.
2. @Target
- @Target 어노테이션은 내가 만드는 어노테이션이 어디에 사용할지 정하는 것이다.
예) @Target(ElementType.METHOD) 이렇게 사용하면 내가 만든 어노테이션은 메서드 내에서 사용할 수 있다.
메서드 내에서만 사용할 수 있는 것이 아니며 파라미터로도 설정이 가능하다.
3. @Documented
- @Documented 어노테이션을 사용하여 커스텀한 어노테이션을 만들면 문서화할 때 해당 어노테이션에 대한 정보를 표시한다는 뜻이다.
'Java' 카테고리의 다른 글
JVM 클래스로더 알아보기 (0) 2025.01.11 JVM 클래스 로딩 과정 알아보기 (0) 2025.01.09 JVM 바이트코드 알아보기 (1) 2025.01.04 자바와 코틀린 (0) 2024.08.29 OpenAPI 데이터베이스 저장 (0) 2023.05.02