[kotlin] 애노테이션의 개념과 사용법

코틀린에서 애노테이션은 소스 코드에 메타데이터를 추가하는 일반적인 방법입니다. 애노테이션은 소스 코드에 주석을 달거나, 컴파일러에게 특정 작업을 수행하도록 지시할 수 있습니다.

애노테이션의 선언

코틀린에서 애노테이션은 @ 기호를 사용하여 선언됩니다. 이 예시를 통해 애노테이션을 선언하는 방법을 살펴보겠습니다.

annotation class Fancy

위의 코드에서 @Fancy가 애노테이션을 뜻하고, annotation 키워드를 사용하여 애노테이션 클래스를 선언했습니다.

애노테이션의 사용

애노테이션을 사용하기 위해서는 @ 기호 뒤에 애노테이션의 이름을 작성하면 됩니다.

@Fancy
class MyClass {
    // 클래스 내용
}

@Fancy 애노테이션은 MyClass 클래스에 적용되었습니다.

애노테이션과 파라미터

애노테이션에는 파라미터를 추가할 수 있습니다. 이를 통해 애노테이션의 유연성을 높일 수 있습니다.

annotation class Special(val specialName: String)

위의 코드에서 @Special 애노테이션은 specialName이라는 파라미터를 가지며, 이를 사용하여 다양한 목적으로 애노테이션을 활용할 수 있습니다.

애노테이션과 대상

애노테이션에는 적용 가능한 대상을 명시할 수 있습니다. 예를 들어, 애노테이션이 변수, 함수, 클래스 등 특정 대상에만 적용되도록 할 수 있습니다.

@Target(AnnotationTarget.CLASS)
annotation class SpecialClass

위의 코드에서 @Target(AnnotationTarget.CLASS)SpecialClass 애노테이션이 클래스에만 적용됨을 나타냅니다.

애노테이션은 코틀린에서 메타프로그래밍과 코드 분석 등 다양한 용도로 사용될 수 있습니다. 기존의 코드에 메타데이터를 추가하거나, 라이브러리나 프레임워크에서 사용할 사용자 정의 힌트를 제공하는 등 다양한 분야에서 활용할 수 있습니다.