Kotlin 에서 어노테이션의 정의는 아래와 같다.코드에 있는 요소에 메타데이터를 부착하기 위해 사용하는 태그이다.툴이나 프레임워크가 이 메타데이터를 확인하고 컴파일타임이나 런타임에 그 어노테이션에 따라 다른 행동을 하게 된다.어렵다…………………영어도 어렵고 한글도 어렵고annotate는 주석을 달다라는 뜻이다.메타데이터는 단순히 정보를 붙이는데 끝나는 게 아니라, 그 정보를 바탕으로 컴파일러나 프레임워크 같은 도구들이 실제로 코드를 자동 생성 하거나, 동작을 제어하는 등의 작업을 처리한다.코드 요소는 클래스, 함수, 프로퍼티 등에 해당한다.따라서 정의를 조금 내 입맛대로 바꿔보자면 아래와 같다.클래스, 함수, 프로퍼티 등의 코드 요소에 부가 정보를 붙여 툴이나 컴파일러, 프레임워크 등에게 특별한 동작을..