Repeatable — 반복 가능 애너테이션

Repeatable — 반복 가능 애너테이션

java.lang.annotation.Repeatable 애너테이션 인터페이스는 그 선언을 (메타)애너테이션하는 애너테이션 인터페이스가 반복 가능(repeatable)함을 나타내는 데 사용됩니다. @Repeatable의 값은 반복 가능한 애너테이션 인터페이스에 대한 컨테이너 애너테이션 인터페이스(containing annotation interface)를 나타냅니다.

출처: Java API Reference

본문

@Documented
@Retention(RUNTIME)
@Target(ANNOTATION_TYPE)
public @interface Repeatable

예를 들어, 다음 애너테이션 인터페이스는 @Schedule를 여러 번 반복해서 쓸 수 있게 해주며, 반복된 애너테이션들은 @Schedules 컨테이너 안에 모입니다.

@Repeatable(Schedules.class)
public @interface Schedule { ... }

요소

Class<? extends Annotation> value
  • value — 반복 가능한 애너테이션을 담는 컨테이너 애너테이션 인터페이스의 타입입니다. 이 컨테이너는 반복된 애너테이션들을 배열로 가지는 요소를 선언해야 합니다.

즉, 같은 애너테이션을 한 요소에 여러 번 적용하고 싶을 때 사용하는 메타 애너테이션입니다.

더 알아보기 (Learn more)