API 란?

초보개발자
5 min readJan 12, 2018

--

저도 API가 무엇인지 자세히 알지 못하였기 때문에 검색을 하며 스스로 공부를 해보았던 것인데 간단하게 API에 대한 개념을 설명한 곳이 없기도 하고 저의 insight를 공유하고 싶어서 medium에 업로드 하게 되었습니다.

“API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.”

위키피디아 사전에서 복사해서 붙여넣은 API의 용어설명인데

저도 그랬고, 처음 위의 문장을 읽는 사람들은 혼란스러울거라 생각합니다.

지금부터 비교적 더 쉽게 이해 될 수 있도록 설명해보겠습니다.

먼저 API(Application Programming Interface)에 대해 설명하기 전에

UI(User Interface)를 먼저 짚고 넘어가려 합니다.

위 사진은 스마트폰의 홈버튼을 강조하기 위하여 준비했습니다.

홈버튼은 사용자들로 하여금 홈화면으로 돌아갈 수 있게끔 도와주는 방법이자 수단입니다.

즉 스마트폰과 사용자를 이어주는 매개체입니다.

API(Application Programming Interface)도 같은 맥락이라고 볼 수 있는데요,

요즘 API라는 용어가 많이 들리는데 대체 API가 무엇일까요?

UI가 사용자와 사용자가 다룰 대상(하드웨어 혹은 소프트웨어)을 연결한다면,

API는 프로그램과 또 다른 프로그램을 연결해주는 일종의 다리라고 볼 수 있습니다.

가령 본인이 웹서비스를 제작한다고 가정을 하면

(아래부터 예시 3개)

예시1:일기예보 정보를 자신이 만든 웹페이지에 띄우려면 어떻게 해야할까요?

출처: https://developers.daum.net/services

예시2:지도를 이용한 웹서비스(ex: 길찾기, 맛집찾기)를 제작하고 싶다면 어떻게 해야할까요?

출처: https://developers.daum.net/services

예시3:자신의 웹서비스에서 사용자들로 하여금 결제가 가능하도록 만들 수 있을까요?

출처: https://developers.kakao.com/docs/restapi/quick-reference

보통 일반 사람들에게는 위의 기능들을 제공할만한 기반이 되는 데이터도 없고 관련 프로그램도 없습니다.

하지만 인터넷 상에서 제공되는 API를 이용한다면 충분히 가능합니다.

“API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.”

“ 운영체제나 프로그래밍 언어가 제공하는 기능 ”을 SK의 날씨정보, Daum의 지도정보, 카카오페이로 두고 “응용 프로그램”을 우리가 만든 서비스라고 생각하면 이해가 편합니다.

예를들어 Daum이 지도 데이터를 공개해도 대부분의 사람들은 그 데이터를 가지고 자신에게 유용하게 사용하기가 어려울 것입니다. 호환성의 문제라던가 너무나 정보가 방대해서 다루기 어렵다든가 등이 그 이유가 되겠죠.

생각해보세요. 홈버튼과 터치가 없이 스마트폰을 조작하라고 한다면 너무나 막막하겠죠? 그래서 설계자들은 사용자들에게 스마트폰과 교감을 할 수 있도록 터치 기능과 홈버튼을 집어 넣었습니다.

같은 맥락으로 Daum에선 자사 데이터를 활용하여 사용할 수 있게끔 ‘다음지도API’라는 일종의 ‘홈버튼’을 사용자들에게 공개한 것이죠.

그거 아시나요? 요즘은 국가에서도 공공API를 제공하고 있습니다. 관련 사이트는 “공공데이터포털”인데요, 전국의 공공시설들의 정보 혹은 버스시간 데이터등 공공데이터등을 활용할 수 있도록 API화 해서 제공하고 있습니다. 부동산 중개 모바일 어플리케이션 “직방”도 국가공공 API를 토대로 만들어진 서비스랍니다.

‘공공데이터포털’ 사이트의 화면

출처:https://www.data.go.kr

또한 “공공데이터포털”에는 존재하지 않더라도 본인이 필요한 공공데이터 혹은 API가 있다면 사이트 내에 있는 “데이터1번가”를 통해 신청할 수가 있습니다.

결론: API란 간단하게 이해하면 “내가 만든 프로그램이 개인 개발자, 기업, 기관이 제공하는 기능, 프로그램 등을 활용할 수 있게끔 도와주는 중간 매개체” 라는 것이며, 공공API 같은 유용한 무료 API도 존재한다는 정보까지 말씀 드려 봤습니다.

이 글을 읽으신 분들에게 유용한 정보였기를 바라며 이만 글을 줄이도록 하겠습니다.

--

--