Annotation
주석이라는 의미를 가지고 있지만 주석과 다르게 특정 코드에 달아 어떤 의미를 부여하거나 기능을 주입할 수 있다. 특정 클래스, 변수, 메서드 등에 붙이는 코드로 해당 타깃의 기능을 좀 더 명확하게 해주는 역할을 한다.
Annotation 종류
1. Kotlin/Android 에 내장되어있는 built in annotation(ex. @Deprecated, @suppressWarnings)
2. Annotation에 대한 정보를 나타내기 위한 어노테이션인 meta annotation
3. 개발자가 직접 만드는 custom annotation(Using Reflection, Using Code Generation)