프로그래밍언어/JAVA

<JAVA>Class 클래스 동적로딩

컴퓨터과학 2020. 12. 7. 10:26

자바의 동적로딩 클래스를 불러오는 방법 

경로내의 같은 이름의 클래스를 불러옵니다

 

package Test01;

import java.lang.reflect.Constructor;

public class Main {

	
	
	
	public static void main(String [] args) throws ClassNotFoundException {
		
		String str=new String();
		DynamicLoading tDyl=new DynamicLoading();
		
	   Class dynmaicloading=Class.forName("Test01.DynamicLoading");//Test01.DynamicLoading.Loading java.lang.String
	
		Constructor[] cons=dynmaicloading.getConstructors();
		for(Constructor con : cons) {
			System.out.println(con);
		}
	}
	
}

 

아래는 같은이름의 생성자를 만들어두었습니다. 

package Test01;

public class DynamicLoading {
	//생성자 
	public DynamicLoading(){
		
	}
public DynamicLoading(int a){
		
	}
public DynamicLoading(float a){
	
}
public DynamicLoading(String a){
	
}
	
	
}

Test01에 존재하는 DynamicLoading 생성자를 불러옵니다.

그렇다면 

 

Class dynmaicloading=Class.forName("java.lang.String");

자바 자체 Object에 존재하는 String 클래스를 확인해보겠습니다

위의 그림과 같이 java.lang에 존재하는 String 클래스를 모두 호출한 상태입니다.