수색…


특수 효과 선언하기

주석은 코드에 메타 데이터를 첨부하는 수단입니다. 주석을 선언하려면 주석 수정자를 클래스 앞에 놓습니다.

annotation class Strippable

주석에는 메타 주석이있을 수 있습니다.

    @Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
    annotation class Strippable

어노테이션은 다른 클래스와 마찬가지로 생성자를 가질 수 있습니다.

annotation class Strippable(val importanceValue: Int)

그러나 다른 클래스와 달리 다음 유형으로 제한됩니다.

  • Java 기본 유형 (Int, Long 등)에 해당하는 유형.
  • 클래스 (Foo :: class)
  • 열거 형
  • 다른 특수 효과
  • 위에 나열된 유형의 배열

메타 주석

주석을 선언 할 때 메타 정보는 다음 메타 주석을 사용하여 포함 할 수 있습니다.

  • @Target : 주석 (클래스, 함수, 속성, 표현식 등)으로 주석을 추가 할 수있는 요소의 가능한 종류를 지정합니다.

  • @Retention 은 주석이 컴파일 된 클래스 파일에 저장되는지 여부와 런타임에 리플렉션을 통해 표시되는지 여부를 지정합니다 (기본적으로 둘 다 true입니다).

  • @Repeatable 은 단일 요소에서 동일한 주석을 여러 번 사용할 수 있습니다.

  • @MustBeDocumented 는 주석이 공개 API의 일부이며 생성 된 API 문서에 표시된 클래스 또는 메소드 서명에 포함되어야한다고 지정합니다.

예:

@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION,
        AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
@Retention(AnnotationRetention.SOURCE)
@MustBeDocumented
annotation class Fancy


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow