Repeatable — 반복 가능 애너테이션
Repeatable — 반복 가능 애너테이션
java.lang.annotation.Repeatable 애너테이션 인터페이스는 그 선언을 (메타)애너테이션하는 애너테이션 인터페이스가 반복 가능(repeatable)함을 나타내는 데 사용됩니다. @Repeatable의 값은 반복 가능한 애너테이션 인터페이스에 대한 컨테이너 애너테이션 인터페이스(containing annotation interface)를 나타냅니다.
본문
@Documented
@Retention(RUNTIME)
@Target(ANNOTATION_TYPE)
public @interface Repeatable
예를 들어, 다음 애너테이션 인터페이스는 @Schedule를 여러 번 반복해서 쓸 수 있게 해주며, 반복된 애너테이션들은 @Schedules 컨테이너 안에 모입니다.
@Repeatable(Schedules.class)
public @interface Schedule { ... }
요소
Class<? extends Annotation> value
value— 반복 가능한 애너테이션을 담는 컨테이너 애너테이션 인터페이스의 타입입니다. 이 컨테이너는 반복된 애너테이션들을 배열로 가지는 요소를 선언해야 합니다.
즉, 같은 애너테이션을 한 요소에 여러 번 적용하고 싶을 때 사용하는 메타 애너테이션입니다.