위키 백과에서 API의 정의를 알아보면
API(Application Programming Interface)는 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 하는 인터페이스이다.
라고 한다. 여기서 인터페이스라는 용어가 나오는데 이것도 위키백과에서 찾아보자.
인터페이스(interface)는 서로 다른 두 개 이상의 독립된 컴퓨터 시스템 구성 요소 간에 정보를 교환하는 공유 경계이다. 컴퓨터와 사용자 간의 통신이 가능하도록 하는 장치나 프로그램을 의미하기도 한다.
인터페이스에는 UI(User Interface), GUI(Graphical User Interface), 소켓 인터페이스 등이 있다.
GUI는 터미널로 사용자와 컴퓨터가 상호작용하는 CLI(Command Line Interface)와 달리 사용자가 편하게 사용할 수 있도록 기능을 그래픽으로 나타내 버튼 클릭 등을 통해 사용자와 컴퓨터가 상호작용한다.
소켓 인터페이스는 네트워크 프로그램을 만들 때 사용하며 통신을 위한 통로 역할을 한다.
장치나 기기 간, 기기와 사용자 간 데이터를 주고받기 위한 통로가 인터페이스(interface)라고 할 수 있다.
그래서 API가 뭐라고?
컴퓨터나 프로그램들을 연결하는, 데이터를 주고받기 위한 통로이다.
API를 식당의 점원과 같은 역할을 한다고 이야기하는데, 손님이 점원에게 주문을 하면 점원이 주방에 요청을 하고, 주방에서 요리가 나오면 점원이 손님에게 가져다주는 식이다.
API의 기능 중 하나로 시스템이 동작하는 방식을 숨기며 API의 기능이 어떻게 설계되어있는지, 어떻게 작동하는지 몰라도 요청을 하면(점원에게 주문을 하면) 사용할 수 있다(요리를 받을 수 있다).
API 유형
API는 공개 범위에 따라 private, public, partner 유형이 있다.
- private API는 조직 내에서만 사용하고 외부에서 접근할 수 없다.
- public API는 공개 API로 누구나 사용할 수 있다. Open-API라고도 한다.
- partner API는 조직 외부의 허가된 사람에게 제공되는 API로 엑세스 권한이 필요하다.
대표적인 public API에는 공공 API가 있다. public API를 사용하기 위해서는 회원가입 후 API 사용을 위한 키를 발급받아 무료로 사용할 수 있다. 일반적으로 운영정책에 따라 트래픽이 제한되어있다.
공공 API 외에도 도로명주소 API, 다음 지도 API, 카카오 API, 네이버 API 등이 자주 사용된다.
공개 문서로 API 사용하기
public API에는 보통 공개 문서가 있다. API를 사용하기 위한 규격을 알려주는 문서이다.
문서가 없거나 자세하게 작성되어있지 않으면 API 사용에 어려움이 있을 것이다.
심리검사 페이지를 보면 카카오톡으로 공유할 수 있는 버튼이 있는 경우가 많은데 이것은 카카오톡 메시지 API를 이용한 것이다.
아래는 메시지 API중 카카오 링크 API로 카카오 디벨로퍼에 API 공개 문서와 샘플 코드가 있다.


카카오 디벨로퍼에 가입 후 앱(또는 프로젝트)을 등록하고 앱의 키를 이용하여 API를 사용할 수 있다.
샘플 코드를 보면 Kakao.Link.createDefaultButton()으로 카카오톡 공유 버튼을 추가하고 클릭시 JSON 형식의 메시지 보내기를 요청한다.
페이지에서 API를 사용해 사용자가 버튼을 클릭하면 카카오톡에 해당 페이지나 원하는 메시지 등을 보내는 방식이다.
결론
- API는 프로그램 간 연결 통로로, API에서 제공하는 기능, 데이터 등을 가져다 사용할 수 있다.
- API를 사용하기 위해서는 API문서에서 알려주는 규격에 맞추어 사용해야하며 운영정책에 따라 사용량(트래픽)이 제한될 수 있다.
댓글