본문 바로가기

컴퓨터 과학(CS)/운영체제

컴퓨터 과학_API와 SDK 정의와 차이

API application programing interface

API(응용 프로그램 인터페이스)는 응용 프로그램의 기능이나 프로그램을 개발할 수 있게 규약이나 정의 등을 제공하는 인터페이스이다.

응용 프로그램이나 시스템과의 연결점을 제시해주기 때문에 시스템 호출과 유사하다.(또 동시에 시스템 호출을 사용한다.)

응용 프로그램 간이나 시스템 간의 통신을 제공해주는 게 주 목적이다.

예를 들면 구글의 구글 맵 기능을 이용하여 스마트폰 위치 찾기, 길 찾기 서비스 등을 만들고자 하는 개발자를 위하여 구글 측에서 구글 맵과 관련된 다양한 함수 집합을 제공해주는 데 이러한 집합이 API이다.

 

SDK software development kit

SDK(소프트웨어 개발자 도구)는 특정 플랫폼, 언어 등 개발을 위하여 API 및 API 매뉴얼 문서, 프로그램에 필요한 코드 편집기(IDE), 에뮬레이터, 라이브러리 등과 같은 각종 개발용 응용 프로그램들을 하나로 묶어서 배포하는 개발 툴이다. 안드로이드 개발용인 안드로이드 스튜디오 등이 대표적인 예시이다. 

 

API와 SDK의 차이

API는 응용 프로그램이나 시스템 사이의 통신이나 기능을 어떻게 제공할 지에 대한 정의를 나타내며

SDK는 특정 플랫폼이나 응용 프로그램을 개발할 때 어떠한 도구들과 API들을 사용하여 개발해야 하는 지에 대한 제공을 해준다.