Kotlin을 사용하다 보면 클래스나 함수의 정보를 코드 실행 중에 다뤄야 하는 상황을 마주하게 됩니다.예를 들면 다음과 같습니다.어떤 클래스의 이름이나 프로퍼티 목록이 필요할 때어노테이션이 붙어 있는지 검사해야 할 때DI, 직렬화, 테스트 도구처럼 범용 라이브러리를 만들 때이런 요구를 해결하기 위해 Kotlin은 Reflection API를 제공합니다.이 글에서는 Kotlin 공식 문서의 Reflection, KClass를 기준으로, Reflection이 무엇인지, 어디까지 사용해야 하는지를 정리합니다.1. Reflection이란 무엇인가?Reflection은 프로그램이 자기 자신의 구조를 런타임에 들여다보는 기능입니다.즉, 클래스, 함수, 프로퍼티 같은 요소를 “값”처럼 다룰 수 있게 해줍니다.Kot..