코틀린 언어 정리 6-3

Annotations

meta-annotations(속성)

@Target

선언한 애노테이션을 적용할 수 있는 대상을 지정합니다.

@Target에 적용 가능한 값들

CLASS, PROPERTY, FIELD, LOCAL_VARIABLE, VALUE_PARAMETER, CONSTRUCTOR, FUNCTION, PROPERTY_GETTER, PROPERTY_SETTER


예제

@Target(AnnotationTarget.CLASS)

annotation class TestAnnotation

TestAnnotation 애노테이션 클래스는 @Target으로 적용대상을 CLASS로 지정했습니다. 따라서 TestAnnotation은 class에만 적용할 수 있습니다.

@Retention

애노테이션을 컴파일된 class에 저장할 것인지, 실행 시간에 리플렉션(Reflection)으로 참조하고 있는지 등을 지정(기본값은 둘 다 true)

@Repeatable

애노테이션이 단일 요소에 여러번 적용될 수 있는지 지정

@MustBeDocumented

애노테이션이 공용 API의 일부인지, 생성된 API 문서의 클래스나 메서드 시그니처에 포함되어야 하는지 지정



+ Recent posts