<aside> 💁🏻 자바 네이티브 인터페이스(Java Native Interface, JNI)는 자바 가상 머신(JVM)위에서 실행되고 있는 자바 코드가 네이티브 응용 프로그램(하드웨어와 운영 체제 플랫폼에 종속된 프로그램들), C, C++, 어샘블리 같은 다른 언어들로 작성된 라이브러리들을 호출하거나 반대로 호출되는 것을 가능하게 하는 프로그래밍 프레임워크다.(from.위키백과)

</aside>

<aside> 1️⃣ dll파일에 존재할 실제 구현된 함수를 invoke하기 위해 만든 껍데기 메소드 구현

public class JNI{

	//static 초기화 블럭으로 추후에 만들 dll파일을 불러야 하는 것이 특징
	static {
		System.loadLibrary("JNI");
	}
	//native메소드 만드는 개수 상관없지만 구현부가 비어있다.(cf)abstract)
	//dll파일에 존재할 실제 구현된 함수를 invoke하기 위해 만든 껍데기 메소드일 뿐!
	private native int getNumber();
	private native void printHelloWorld();

	public static void main(String args[]){
		
		JNI jni = new JNI();
		jni.getNumber();
		jni.printHelloWorld();
		
	}
}

</aside>