Annotation use-site targets
2022-08-22 20:38:46
#kotlin
사용 지점 대상 Annotation
- 코틀린에서는 소스코드에서 한 선언을 컴파일한 결과가 여러 자바 선언과 대응되는 경우가 많다. 따라서 여러 자바 선언에서 각각 Annotation을 붙여야 하는 경우가 존재한다.
예를 들면 코틀린의 property는 기본적으로 Java의 property + Getter method 선언과 대응된다. 만약 var 타입이라면 Setter method선언까지 대응되는 것이다.
// 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명으로 아래와 같이 사용한다.
// 사용 지점 대상 : 적용 Annotation 명
@get:Rule
위 코드의 뜻은 @Rule Annotation을 Getter 에 적용하라는 뜻이다.
댓글
이 게시글에 대한 의견을 공유해주세요!
