10-애노테이션과 리플렉션
애노테이션 선언과 적용 애노테이션 적용 코틀린에서 @Deprecated 애노테이션은 대신할 수 있는 패턴을 제시할 수 있다. @Deprecated("Use new(index) instead.", ReplaceWith("new(index)")) fun deprecated(index: Int) { println("deprecated: index") } fun new(index: Int) { println("new: $index") } 애노테이션의 인자로는 원시 타입의 값, 문자열, enum, 클래스 참조, 다른 애노테이션 클래스, 그리고 지금까지 말한 요소들로 이뤄진 배열이 들어갈 수 있다. 클래스 애노테이션 인자로 지정할 때는 @MyAnnotation(MyClass::class) 처럼 ::class를 클래스 이름 뒤에 넣어야 한다. 다른 애노테이션을 인자로 지정할 때는 인자로 들어가는 애노테이션의 이름 앞에 @를 넣지 말아야된다....