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 에 적용하라는 뜻이다.

프로필 이미지
@chani
바둑 좋아하는 개발자의 의미있는 학습 기록을 위한 공간입니다.

댓글

이 게시글에 대한 의견을 공유해주세요!

댓글