1. JDK (Java Development Kit, 자바 개발 도구)


자바 애플리케이션을 개발하기 위한 도구들로 이루어진 패키지이다.


-> JRE (JVM, 라이브러리) + Development Tools





2. SDK(Software Developer's Kit, 소프트웨어 개발 도구)


UI 기반으로 특화된 API를 제공하여 개발이 가능하게 도와주는 패키지


자바를 기반으로 안드로이드 에뮬레이터를 내장하여 안드로이드 애플리케이션을 개발할 때 사용한다.





3. NDK(Native Development Kit, 네이티브 개발 도구)


SDK를 사용하여 만든 안드로이드 애플리케이션은 자바를 사용하였기 때문에 자바의 한계점을 가지고 있는데, 그 한계점을 극복하고자 


안드로이드 애플리케이션에서도 C/C++ 을 사용할 수 있도록 제공하는 방법이다.


C/C++을 통해 하드웨어를 직접 제어할 수 있어 임베디드에서도 많이 사용된다.