Kotlin 썸네일형 리스트형 Reflection #2 생성자에 대한 정보 @Test fun `생성자에 대한 정보 얻기`() { val clazz = Class.forName("java.lang.String") val ctorlist = clazz.declaredConstructors ctorlist.forEach {ct -> println("생성자 이름 = ${ct.name}") println("정의된 클래스 이름 = ${ct.declaringClass}") val pvec = ct.parameterTypes pvec.forEachIndexed {index, param -> println("인자 $index = $param") } val evec = ct.exceptionTypes evec.forEachIndexed { index, exception -> .. 더보기 Reflection #1 런 타임에 실행 중인 어플리케이션의 정보를 JVM으로부터 참조하거나 수정하는 기술 클래스, 인터페이스, 메소드, 필드 등을 찾을 수 있다. 객체를 생성하거나 변수를 변경, 메소드 호출이 가능하다. 자바에서 기본적으로 제공하는 API Sample String 클래스의 이름을 통해 String 클래스가 가진 모든 메서드 이름을 출력한다. @Test fun `스트링 클래스에 존재하는 모든 메소드`() { val c = Class.forName("java.lang.String") val m = c.declaredMethods m.forEach { println(it.name) } } Class 인스턴스의 getDeclaredMethods() 메소드를 호출하면 Method 배열을 얻을 수 있다. Method는 .. 더보기 이전 1 다음