햄찌개

JAVA - reflection 본문

고급 JAVA

JAVA - reflection

햄찌개 2020. 9. 18. 16:57

 *  1.리플랙션은 클래스, 또는 멤버변수, 메서드, 생성자에 대한 정보를 가져오거나 수정할 수 있다.

 *  2. Reflection API는 java.lang.reflection 패키지의 java.lang.class를 통해서 제공한다.

 *  3. java.lang.class의 주요 메서드

           getNum(), getSuperClass(),  gerInterface(), getModifiers()

 * 4. java.lang.reflect 패키지의 주요 클래스

 *  Field, Method, Constructor, Modifier 등  

 

 

//Class 오브젝트(클래스의 정보를 담고있는 )를 생성하기
public class T01_ClassObjectCreationTest {
	public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
		//첫번째 방법 : Class.forName() 메서드 이용
		Class<?> klass = Class.forName("kr.or.ddit.reflection.T01_ClassObjectCreationTest");
		
		//두번째 방법 : getClass() 메서드 이용
		T01_ClassObjectCreationTest obj = new T01_ClassObjectCreationTest();
		klass = obj.getClass();
		
		//세번쨰 방법 : class이용
		klass = T01_ClassObjectCreationTest.class;
		
		//Class 오브젝트 이용하여 객체 생성하기
		obj = (T01_ClassObjectCreationTest) klass.newInstance();
		System.out.println(obj);
	} 
}

 

 

 

 

 

 

 

'고급 JAVA' 카테고리의 다른 글

JAVA - Lambda식  (0) 2020.09.21
JAVA - annotation  (0) 2020.09.18
JAVA- Enum  (0) 2020.09.18
JAVA - Generic 와일드 카드 예제 - 수강 등록  (0) 2020.09.18
JAVA - Generic 와일드 카드  (0) 2020.09.17