IT/Kotlin

Kotlin - Annotation

은고고 2022. 1. 4. 18:37
반응형

Kotlin Annotation 문서를 보니.. Kotlin에서는 어떻게 활용하는지...아리송 하다..

python에서는 annotation 을 이용해서 유효성 검사등에..활용했는데...

 

Annotation ?

 

 

용도

1. Kotlin/Android 내장 Built in Annotation

   - Kotlin - Java 를 함께 사용 할때

     @JvmName, JvmMultifileClass, @JvmStatic, @JvmField, @Throws, @JvmOverloads)

   - 유효성 검사, 미사용 선언부, etc

     @Deprecated, @SuppressWarnings, @IntRange

2. Annotation 에 대한 정보를 나타내기 위한 Meta annotation

   @Target, @Retention, @Repeatable, @MustBeDocumented

3. 사용자 정의 Annotation

 

 

Kotlin/Android 내장 Built in Annotation

아래 Deprecated 를 코드를 보고 어떻게 동작되는지 대충 파악해 보자 ~

@Deprecated 

Annotation 된 선언부를 사용안할때 사용한다. 버전 업되어 이전 코드를 사용 안할때...사용하면 되겠다.

 

사용법

remove() 함수위에 annotation 을 추가하여 client code에서 사용시 경고 혹는 에러를 발생시킨다.

IntelliJ IDEA 편집 창에서는 취소선(-) 으로 표시된다. (default : DeprecationLevel.WARNING)

버전 업그레이드되어 미사용 코드에 대해 annotation 을 사용하면 개발자에게 도움이 되겠다.

DeprecationLevel.ERROR 로 설정하면 Compile 시에 에러가 출력된다.

미사용 함수이니..새로운 함수 강제로 사용해라 ~~

 

실제 @Deprecated Annotation 코드

Deprecated 에 Meta Annotation 인 @Target, @MustBeDocumented 이 추가되어 있다.

@Target : annotation 사용할 수 있는 범위 지정

@MustBeDocumented : Generated Documentation 에 해당 Annotation 도 포함될 수 있는지 여부

@Retention : Scope 를 제한하는데 사용, (BINARY : compile time, binary 포함, reflection(::) 을 통해 접근 못함)

Level 에 따라 IDE 에서 Atction 이 달라진다.

이제 대충 봤으니....

사용자 정의 Annotation 을 만들어서 활용 할 수 있겠다.

가장 많이 볼수 있는 유효성 검사 annotation 만들어 보자 ~

 

 

반응형

'IT > Kotlin' 카테고리의 다른 글

Kotlin - function, Lambda, Reflection  (0) 2021.12.30
Kotlin - Intellij IDEA 에서 Test(JUnit) 추가  (0) 2021.12.16