<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>