[java] 커스텀 애노테이션 정의하기

자바에서 애노테이션(annotation)은 프로그래밍 요소에 메타 데이터를 제공하여 규칙에 따라 특정 동작을 수행하도록 지시할 수 있습니다.

일반적으로 @Override, @Deprecated, @SuppressWarnings와 같은 내장된 애노테이션을 사용할 수 있지만 때로는 커스텀 애노테이션을 정의해야할 때가 있습니다.

커스텀 애노테이션 만들기

커스텀 애노테이션을 만들려면 @interface 키워드를 사용하여 새로운 인터페이스를 정의하면 됩니다. 이때 애노테이션이 적용될 대상과 애노테이션의 속성을 정의할 수 있습니다.

public @interface MyAnnotation {
    String value();
}

위의 예시에서 MyAnnotation은 하나의 속성 value를 가지는 간단한 커스텀 애노테이션을 정의한 것입니다.

애노테이션 사용하기

정의한 커스텀 애노테이션을 사용하려면 @ 기호를 붙인 뒤에 애노테이션의 이름과 필요에 따라 속성값을 지정하면 됩니다.

@MyAnnotation(value = "example")
public class MyClass {
    // 클래스 내용
}

결과

애노테이션은 컴파일러나 런타임 시에 애노테이션이 적용된 요소에 대한 추가 정보를 얻을 수 있도록 해줍니다. 이를 통해 코드의 가독성을 향상시키고, 어노테이션을 활용하여 컴파일러 경고나 에러를 방지하거나 특정한 동작을 수행하는 등 다양한 용도로 활용할 수 있습니다.

커스텀 애노테이션을 정의하고 활용함으로써 코드의 유연성과 가독성을 높일 수 있습니다.

이와 관련하여 자세한 내용은 Oracle Java Documentation를 참고하시기 바랍니다.