독서관련/Kotlin in Action
CH10 리플렉션
ColinKang
2021. 2. 13. 17:20
아래의 글은 드미트리 제메로프, 스베트라나 이사코바 저/오현석역,『Kotlin in Action』,에이콘출판사(2017)의 내용을 기반으로 작성하였습니다.
리플렉션 : 실행시점에 동적으로 객체의 프로퍼티와 메소드에 접근할 수 있게 해주는 방법
코틀린에서의 리플렉션 이용 :
자바의 리플렉션 사용 : java.lang.referect 패키지
코틀린의 리플렉션 사용 : kotlin.referect 패키지
(별도 라이브러리 추가해야함 : org.jetbrains.kotlin:kotlin-reflect )
코틀린 리플렉션 API
KClass
KCallable
KFunctioin
KProperty
풀기능 사용 : import kotlin.reflect.full.* 확장 함수 선언
KFunctionN 인터페이스 : synthetic compiler-generated type
함수 호출하기 위해서 KFunction1<Int, Unit> 로 invoke로 호출 가능, KFunction1은 제레릭 인터페이스의 첫 번째 타입 파라미터와 같다.