개발을 하거나, 개발관련 강의를 듣거나 혹은 그냥 인터넷을 보다가도 API와 SDK는 자주 등장하게 된다. 들었던 내용과 쓰던 상황을 토대로 API는 이런거구나, SDK는 이런거구나 유추하며 써왔었기에 그 개념들을 한번 천천히 정리해 보려고 한다.

우리가 수의사 클리닉을 위한 모바일 앱을 만든다고 생각해보자. 이 앱은 접수원이 애완 동물이 클리닉에 들어올 때 사진을 찍을 수 있도록 하고, 앱은 시각적 인식 서비스와 통신한다(이 과정은 클라우드에서 실행된다).

<그림>

그리고 이 서비스가 동물의 이름과 파일을 반환하는 방식이다.

우리는 이과정을 어떻게 구현할수 있을까?

모바일 앱과 이 클라우드 기반 서비스간에 어떻게 통신할 수 있는 것일까?

이 과정을 도와주는 것이 바로 API 그리고 SDK이다.

API란 무엇일까?

API(Application Programming Interface)는 주로 통신에 관한 것이다. 즉, 나와는 다른 앱 또는 서비스와 통신 하기위한 정의 및 프로토콜의 집합체이다. 따라서 위의 예제에서 나의 앱과 클라우드상의 시각적 인식 서비스를 연결하는 다리가 바로 API인 것이다.

API의 주요 특징

API의 구성요소

Request (위 예제를 기반으로)