API(Application Programming Interface)는
응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
Applicaiton은 응용프로그램, 즉 프로그램입니다. 게임 앱, 채팅 앱할 때 앱(app)이 이것의 약자입니다.
Interface는 물건을 조작하기 위한 디자인을 뜻합니다. 이 디자인이라는 것은 키보드, 마우스, 리모콘처럼 단순히 물리인 형태만 뜻하는 것이 아니라 동작인식, 터치스크린처럼 해당기기를 작동하는 방식까지 포함합니다. 손가락 두개로 터치한 후에 벌려서 화면 확대, 혹은 더블 탭해서 화면 확대 등등이죠.
Programming interface는 human interface의 반대 개념으로 생각하면 되는데, 위에서 예를 든 키보드, 터치스크린 등은 사람을 위한 인터페이스입니다. API는 한 프로그램이 다른 프로그램을 이용할 때 쓰는 인터페이스로 기계가 이해하기 쉽게 입출력이 데이터로 이루어 집니다.
즉, Application의 Programming을 위한 Interface라고 할 수 있는데 가장 중요한 개념은 API는 사람을 위한 인터페이스가 아니라 프로그램을 위한 인터페이스라는 것입니다.
날씨를 확인할 수 있는 사이트를 예로 들어 사람이 이 싸이트를 사용해 날씨를 확인하려면웹브라우저
실행 > 사이트주소 입력 > 지역및 날짜 입력 > 날씨 확인
의 과정을 거쳐야 합니다.
하지만 내가 만드는 프로그램이 날씨를 확인하고 싶다면 위의 사람의 방식은 비효율적입니다. (url을 찾아 페이지를 열고 웹페이지를 해석하고 form에 값을 입력해서 최종 페이지에서 원하는 정보를 읽는 프로그램을 짠다고 생각해 보세요. 게다가 해당 웹사이트가 업데이트 되는 경우에는...)
해당 사이트가 API를 제공한다면 내 프로그램이 해당 API를 사용해 쉽게 정보를 가져올 수 있습니다.
API 에 날짜/지역 정보를 전달 > API에서 날씨정보를 응답
오픈 API(Open Application Programming Interface, Open API)는
개발자라면 누구나 사용할 수 있도록 공개된 API를 말하며, 개발자에게 사유 응용 소프트웨어나 웹 서비스의 프로그래밍적인 권한을 제공한다. 반대말은 프라이빗 API(Private SPI)다. 쉽게 말하면, "하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스가 오픈 API다"라고 정의할 수 있다.
네이버 지도, 구글맵 등이 대표적인 예이다. 지도 서비스 및 다양한 서비스들에서 시도되고 있으며 누구나 접근하여 사용할 수 있다는 장점이 있다. 메타블로그도 오픈 API를 사용하여 만든 예이다. 최근에 코로나 사태로 라이브코로나, 코로나 맵 등의 서비스가 생겼는데, 네이버클라우드플랫폼의 API 지원을 받고 있다.
'Web Programming > 용어' 카테고리의 다른 글
라이브러리 (Livrary) , 프레임워크(Framework) (0) | 2021.06.10 |
---|---|
비즈니스 로직 ( Business logic ) (0) | 2021.06.08 |
로직 Logic (0) | 2021.06.08 |