Item 66. Native Methods

네이티브 메서드는 신중히 사용하라

네이티브 메서드란?

네이티브 메서드는 C나 C++ 같은 네이티브 프로그래밍 언어로 작성된 메서드로, 자바 프로그램이 네이티브 메서드를 호출할 수 있게 해준다. 주요 쓰임새는 아래 세 가지가 있다.

  1. 레지스트리 같은 플랫폼 특화 기능 사용

  2. 네이티브 코드로 작성된 기존 라이브러리 사용

  3. 성능 개선을 목적으로 성능에 결정적인 영향을 주는 영역만 네이티브 언어로 작성

하지만 자바 언어가 발전되면서 플랫폼 특화 기능들을 대부분 자바로 구현할 수 있게 되었고, 네이티브 언어로 작성된 기존 라이브러리들도 대부분 자바로 포팅되었다. 때문에 네이티브 메서드를 사용하는 것은 권장하지 않으며 아래와 같은 단점이 있다.

  • 네이티브 언어 자체가 안전하지 않아 네이티브 메서드를 사용하는 애플리케이션도 메모리 훼손 오류로부터 안전하지 않음

  • 네이티브 언어는 플랫폼에 종속적이어서 이식성이 낮고 유지보수가 어려움

  • 오히려 속도가 느려질 수도 있고, 가비지 컬렉터가 네이티브 메모리를 관리하지 못하기 때문에 메모리 누수가 발생할 수 있음

Last updated

Was this helpful?