반갑습니다. 아주 오랜만에 질문 계시판을 활용하게 되었는데요..

 runtime 단에서 Object 를 가져와 Instance를 하고 사용할 수 있는 reflection 을 활용해야 될거 같은데..
문제는 이놈이 newInstance를 하니 InstantiationException 에러가 저를 반갑게? 맞이해 주는군요..

잘 모르는 부분이라 에러가 반갑지 않지만 구굴님과 함께라면 언제나 든든 하리라 생각하며 열심히 삽질?을 해봤지만..
아래와 같은 방법으로 dump를 해보니.. 제가 instance를 해야 할 method 안에 abstract 형 Method가 
무진장 많다는건 확실히 알아 냈습니다...ㅋㅋㅋ (웃을 일은 아니지만)

     try {
Class c = Class.forName("*****");
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].toString());
} catch (Throwable e) {
System.err.println(e);
}



생성자 확인을 아래와 같이 하니 Context가 생성자로 쓰고 있는걸 확인했습니다. 

     Class cls = Class.forName("**********");

Constructor ctorlist[] = cls.getDeclaredConstructors();
for (int i = 0; i < ctorlist.length; i++) {
Constructor ct = ctorlist[i];
System.out.println("name = " + ct.getName());
System.out
.println("decl class = " + ct.getDeclaringClass());
Class pvec[] = ct.getParameterTypes();
for (int j = 0; j < pvec.length; j++)
System.out.println("param #" + j + " " + pvec[j]);
Class evec[] = ct.getExceptionTypes();
for (int j = 0; j < evec.length; j++)
System.out.println("exc #" + j + " " + evec[j]);
System.out.println("-----");
}
} catch (Throwable e) {
System.err.println(e);
}

아래와 같이 newInstance를 하였는데..

Class cls = Class.forName("**********");
//Constructor ct = cls.getConstructor(new Class[]{Context.class});
Constructor ct = cls.getDeclaredConstructor(new Class[]{Context.class});
if(!ct.isAccessible()){
ct.setAccessible(true);
Window window = (Window)ct.newInstance(new Object[]{context});
ct.setAccessible(false);
}else{
Window window = (Window)ct.newInstance(new Object[]{context});
}


젠장..ㅠㅠ 나름 열심히 찾아서 잘 될 줄 알았는데 저에게 돌아 오는것은 
03-17 14:57:20.635: WARN/System.err(2571): java.lang.InstantiationException: ******************
아무리 영어가 짧아도 저 말뜻은 느낌이 안좋다느건 단번에 알 수 있겠더군요..ㅠㅠ


어떻게 해야 컴파일러가 제 말끼를 알아 들을 수 있을까요?
 고수님들 간만에 몸좀 풀어 주세요~!! ㅎㅎ

PS: 환절기에 방사능 조심합시다.~