[java] 애노테이션과 클래스패스 설정
Java 애노테이션은 소스 코드에 메타데이터를 추가하는 방법을 제공합니다. 이를 통해 컴파일러, 런타임 라이브러리, 빌드 도구 등에서 추가적인 작업을 수행할 수 있습니다.
애노테이션의 기본 구조
Java에서 애노테이션은 @
기호로 시작하며, 인터페이스
로 정의됩니다. 예를 들어, 다음과 같이 정의할 수 있습니다.
public @interface MyAnnotation {
String value();
}
위 예제는 MyAnnotation
이라는 애노테이션을 정의하는 것으로, value
라는 요소(element)를 하나 갖습니다.
애노테이션의 사용
애노테이션은 다른 코드 요소에 적용될 수 있습니다. 예를 들어, 다음과 같이 메서드에 애노테이션을 적용할 수 있습니다.
public class MyClass {
@MyAnnotation("example")
public void myMethod() {
// 메서드 구현
}
}
클래스패스 설정
애노테이션은 런타임에 사용되기 때문에, 애노테이션이 포함된 클래스를 찾을 수 있도록 클래스패스를 설정해주어야 합니다. 이를 위해 빌드 도구의 설정 파일에 애노테이션 처리 도구(Annotation Processing Tool)를 등록하고, 애노테이션 프로세서(Annotation Processor)를 지정해야 합니다.
Maven을 사용하는 경우
<dependencies>
<!-- dependencies -->
</dependencies>
<build>
<plugins>
<!-- plugin configurations -->
</plugins>
</build>
애노테이션 프로세서 및 라이브러리에 대한 의존성을 추가하고, maven-compiler-plugin
을 통해 애노테이션 프로세싱을 활성화할 수 있습니다.
Gradle을 사용하는 경우
dependencies {
// dependencies
}
// 애노테이션 프로세싱 설정
Gradle에서는 dependencies
블록을 통해 애노테이션 프로세서에 대한 의존성을 추가하고, 필요한 애노테이션 프로세싱 구성을 수행할 수 있습니다.
애노테이션을 효과적으로 활용하기 위해서는 애노테이션의 정의와 사용법을 숙지하고, 클래스패스 설정에 대한 이해가 필요합니다.
참고:
- The Java™ Tutorials - Annotations
- Baeldung. “Guide to Java Annotations.”
- Oracle. “Java SE Documentation.”