티스토리 뷰

JAVA 이야기

.class파일에서 사용된 생성자메소드, 필드, 메소드 알아내기



리플렉션을 이용해서 다음과 같이 할 수 있습니다. 



import java.lang.reflect.*;
class Data
{
 public String str ;
 
 public void sample_method(){}
}
public class Test_reflection {
 private String name ;
 public static void main(String[] args)
 {
  Class c = Data.class ;
    
  Constructor[] cs = c.getConstructors() ;
  // 생성자 메소드 알아내기
  System.out.println("Constructor Methods") ;
  for(int i = 0 ; i < cs.length ; i++)
   System.out.println(cs[i].toString()) ;
  
  Field[] f = c.getFields() ;
  
  // 필드 알아내기
  System.out.println("Field list") ;
  for(int i = 0 ; i < f.length ; i++)
   System.out.println(f[i].toString()) ;
  
  Method[] m = c.getMethods() ;
  
  // 메소드 알아내기
  System.out.println("Method list") ;
  for(int i = 0 ; i < m.length ; i++)
   System.out.println(m[i].toString()) ;
 }
}
댓글