[안드로이드] JNI(Java Native Interface)에 대해 1
1. 자바와 네이티브 코드안드로이드에서 JNI(Java Native Interface)는 자바, 코틀린에서 컴파일하는 바이트코드가 C/C++로 작성된 네이티브 코드와 상호작용하는 방법을 정의한다. 자바 언어와 자바언어가 아닌 코드가 상호작용할 수 있도록 하는 프레임워크이다. 자바는 플랫폼 독립적인 언어이지만, 자바로 모든 기능을 구현하기엔 어렵기 때문에 네이티브 코드와의 상호작용이 필요하다. 자바가 성능 면에서 부족한 경우, 운영체제나 하드웨어에 특화된 기능을 사용해야할 때, 이미 잘 검증된 네이티브 라이브러리를 재사용함으로써 개발 시간을 단축할 수 있다. 하지만 단점도 존재하는데, 자바와 네이티브 코드 간의 상호작용은 복잡하며, 개발자가 직접 메모리 관리와 같은 저수준 작업을 신경써야 한다. 2. 안..