본문 바로가기

JAVA

Java Native Interface (JNI)

728x90

자바는 특정 운영체제에 종속되지 않도록 JVM이라는 가상머신 위에서 실행되게끔 만들어진 언어이다.

운영체제에 맞는 JVM이 각각 존재하기 때문에 Java 개발자는 하나의 java 파일만 만들면 운영체제와 상관없이 원하는 결과물을 얻을 수 있다.

하지만 그렇기 때문에 운영체제의 모든 기능을 JVM이 담지 못하고 그 대처 방법이 바로 JNI이다.

 

JNI은 자바의 성능을 넘어선 플랫폼 특정적인 작업을 수행할 경우에 운영체제가 구현된 언어 (C, C++)로 운영체제 고유의 기능을 만든다. 그리고 그것을 자바 메서드와 연결해주는 역할을 한다.

 

하지만 자바 메서드처럼 동일한 보호는 받지 못한다.