Annotation use-site targets

사용 지점 대상 Annotation

  • 코틀린에서는 소스코드에서 한 선언을 컴파일한 결과가 여러 자바 선언과 대응되는 경우가 많다. 따라서 여러 자바 선언에서 각각 Annotation을 붙여야 하는 경우가 존재한다.

예를 들면 코틀린의 property는 기본적으로 Java의 property + Getter method 선언과 대응된다.
만약 var 타입이라면 Setter method선언까지 대응되는 것이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Kotlin Code
class Test(var value:String?)

// Java Code
final class Test {

String value;

public String getValue(){
return this.value;
}

public void setValue(String value){
this.value = value;
}
}

따라서 코틀린에서 특정 프로그래밍 요소에 Annotation을 붙일떄는 사용 지점 대상 선언으로 어떤 프로그래밍 요소에 Annotation을 붙일 것인지 명시할 수 있다.

사용 지점 대상은 @적용대상:Annotation명으로 아래와 같이 사용한다.

1
2
// 사용 지점 대상  : 적용 Annotation 명 
@get:Rule

위 코드의 뜻은 @Rule Annotation을 Getter 에 적용하라는 뜻이다.

Comments