오라클자바커뮤니티에서 설립한
오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝,
힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)
Runtime에 클래스를 전달받아서 임의의 method를 실행하는 시스템이 있다고 가정하면 이 때 전달되는
파라미터, return되는 파라미터 모두 개발당시에는 알지 못한다고 하자 이러한 시스템에는 임의의 클래스가 주어졌을 때, 그 클래스에 대한
정보, 다시 말해서 해당 클래스의 생성자 (constructor), 멤버변수, method, 슈퍼 클래스 , 상위 인터페이스에 대한 정보를 얻을
수 있는 기능이 필요하다 이렇게 임의의 클래스에 대한 정보를 얻을 수 있게 해 주는 API가 바로 reflection API이다.
Ex) import java.lang.reflect.*;
Object o;
Class c = o.getClass();
……
Method m = c.getMethod(“setText”, new Class[] {String.class} );
……
import java.lang.reflect.*;
import java.awt.*;
class ReflectionTest {
public static void main(String[] args) {
Button b = new Button();
getNameSuperClass(b);
}
static void getNameSuperClass(Object o) {
Class c = o.getClass();
String s = c.getName();
String s1 = c.getSuperclass().toString();
System.out.println(s + "\n" + s1);
}
}
Ex) import java.lang.reflect.*;
Object o;
Class c = o.getClass();
……
Method m = c.getMethod(“setText”, new Class[] {String.class} );
……
import java.lang.reflect.*;
import java.awt.*;
class ReflectionTest {
public static void main(String[] args) {
Button b = new Button();
getNameSuperClass(b);
}
static void getNameSuperClass(Object o) {
Class c = o.getClass();
String s = c.getName();
String s1 = c.getSuperclass().toString();
System.out.println(s + "\n" + s1);
}
}
댓글 없음:
댓글 쓰기