Skip to content

Latest commit

 

History

History
29 lines (19 loc) · 1.57 KB

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

File metadata and controls

29 lines (19 loc) · 1.57 KB

네이티브 메서드란

C나 C++ 같은 네이티브 프로그래밍 언어로 작성한 메서드


네이티브 메서드의 주요 쓰임

  1. 레지스트리 같은 플랫폼 특화 기능을 사용한다.
    • 자바가 성숙해가면서 (OS 같은) 하부 플랫폼의 기능들을 점차 흡수하고 있어 필요가 줄어들고 있다.
  2. 네이티브 코드로 작성된 기존 라이브러리를 사용한다.
    • 대체할 만한 자바 라이브러리가 없는 네이티브 라이브러리를 사용해야 한다면 써야 한다.
  3. 성능 개선을 목적으로 성능에 결정적인 영향을 주는 영역만 따로 네이티브 언어로 작성한다.

성능을 개선할 목적으로 네이티브 메서드를 사용하는 것은 거의 권장하지 않는다.

자바 초기 시절(자바 3 전)이라면 이야기가 다르지만, JVM은 그동안 엄청난 속도로 발전해왔다. 대부분 작업에서 지금의 자바는 다른 플랫폼에 견줄만한 성능을 보인다.


네이티브 메서드 단점

  • 네이티브 언어가 안전하지 않으므로 네이티브 메서드를 사용하는 애플리케이션도 안전하지 않다.
  • 네이티브 언어는 이식성이 낮고, 디버깅도 어렵다.
  • 가비지 컬렉터가 네이티브 메모리는 자동 회수 및 추적할 수 없다.
  • 자바 코드와 네이티브 코드의 경계를 넘나들 때마다 비용이 추가된다.
  • 네이티브 메서드와 자바 코드 사이의 '접착 코드'를 작성하는 것이 귀찮고 가독성도 떨어진다.