본문 바로가기
오늘은 뭘 배울까?/etc

API란 대체 뭘까?

by Kim Juhwan 2020. 12. 21.

1. API를 직접 검색해보았다.

API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.

 

 

 

흠...

이게 분명히 한글인데 왜 이해가 안 가지?...

운영체제, 인터페이스, 응용프로그램... 다 아는 말인데 뭔가 뇌에 쏙 하고 들어오지 않는다.

음. 역시. 싱싱한 회를 먹으려면 직접 낚시를 하러 가야지

그래서 API를 직접 검색해보았다.

 

 

https://apis.map.kakao.com/

 

구글에 카카오 API라고 검색하면 사이트를 찾을 수 있다.

카카오에서는 여러 API를 제공하는데, 난 그중에서 지도 API를 들어가 보았다.

안드로이드, 웹, IOS에 맞게 API를 지원하는데 나는 안드로이드 배우고 있으니까 안드로이드 클릭!

 

 

 

 

그러면 위와 같은 페이지가 나온다.

여기서 Docs를 클릭해서 API 문서를 읽어보았다.

굉장히 여러 가지 메서드가 주르르륵 적혀있다.

지도에 관련된 기능을 사용할 수 있는 방법들이 적혀있는 것이다.

예를 들어 위 그림에서 zoomIn이라는 메서드는 지도를 한 단계 확대하려면 어떻게 해야 하는지에 대해 적혀있다.

 

즉, API 문서는 카카오(기업)에서 제공하는 서비스를 어떻게 이용할 수 있는지 그 방법에 대해 적혀있는 문서인 것이다.

이렇게 일반인들에게 공개되어 사용할 수 있는 API오픈 API라고 부른다.

 

 

 

2. Open API

무료로 제공하겠노라

 

그렇다면 카카오는 왜 이 API를 무료로 제공할까?

이 API가 하늘에서 뚝 떨어진 것도 아니고 수많은 시간과 노력을 들여 (개발자를 갈아서) 만들었을 텐데 말이다.

여러 가지 이유가 있을 수 있다.

특정 횟수 이상 사용하면 돈을 받는다던가

특정 기능을 사용하려면 돈을 내야 한다던가

아니면 브랜드 가치나 플랫폼 사용을 늘리기 위해서 등...

 

카카오에서는 횟수에 제한을 두고 있다.

 

물론 오픈 API 외에 회사 내에서만 사용하는 private API나, 계약을 맺은 회사나 파트너 회사끼리만 사용하는 partner API도 있다. 이 두 API는 논외로 하겠다.

 

 

 

3. 공공 API

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

이렇듯 기업에서 공개하는 API가 있는 반면

나라에서도 누구나 사용할 수 있도록 공개하는 오픈 API가 있다.

개인적으로 나도 지하철 관련 앱을 만들면서 이용했던 기억이 있다.

 

 

지하철 역 관련 오픈 API

 

공공데이터 포털에서 지하철 역에 관련된 API를 검색해보았다.

아까 봤던 카카오 API 문서랑 뭔가 생긴 게 다르다.

문서를 어떻게 작성해야 한다라는 가이드라인이 없기 때문이다.

단, 무엇을 요청하면 무엇을 응답하는가에 대해 다루고 있다는 것은 똑같다.

 

 

4. 그래서 API란?

(     )가 요청을 하면 (     )가 응답을 할 수 있도록 하는 (     )

 

인터넷에 API에 대해 검색하면 여러 가지 정의들이 나온다.

어떤 사람은 저 빈칸에 프로그램, 프로그램, 중간 매개체를

어떤 사람은 저 빈칸에 클라이언트, 서버, 체계를

다 맞는 말인 것 같은데 이게 참 헷갈린다.

 

앞선 예시에서 카카오와 국가에서는 자신이 가지고 있는 기능 혹은 데이터를 개발자에게 제공한다.

그리고 개발자는 단 코드 몇 줄로 원하는 기능을 구현하고, 데이터를 얻을 수 있다.

카카오에서 정해둔 메서드가 있을것이고, 국가에서 정해둔 URL이 있을것이다.

정해놓은 규칙에 맞게 사용하기만 하면 되는 것이다.

반응형

댓글