API란
API(Application Programming Interface 응용 프로그램 프로그래밍 인터페이스)은
- 컴퓨터나컴퓨터 프로그램 사이의 연결.
- 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공
- 이러한 연결이나 인터페이스를 빌드하거나 사용하는 방법을 기술하는 문서나 표준은 API 사양으로 부름
이 표준을 충족하는 컴퓨터 시스템은 API가 구현(implement)되었다거나 노출(expose)되었다고 말한다.
API라는 용어는 사양이나 구현체를 의미할 수 있다.
쉽게 설명하자면
식당에 있다고 가정해봅시다.
1. 손님이 점원이 가져다준 메뉴판을 보면서 음식을 고르면, 점원이 주문을 받아 요리사에 요청을 할 텐데요.
( 손님[요청] -> 점원 -> 요리사 )
2. 그러면 요리사는 정성껏 음식을 만들어(응답) 점원에게 주고, 여러분은 점원이 가져다준 맛있는 음식을 먹을 수 있게 됩니다.
( 요리사[응답] -> 점원 -> 손님)
여기서 점원의 역할이 API라고 할 수 있습니다.
점원은 손님에게 메뉴를 알려주고, 주방에 주문받은 요리를 요청합니다. 그다음 주방에서 완성된 요리를 손님께 다시 전달하지요.
API는 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)를 정리하고, 주문(명령)을 받으면 요리사(응용프로그램)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달합니다.
쉽게 말해, API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체로 볼 수 있습니다.
API의 역할
1. API는 서버와 데이터베이스에 대한 출입구 역할
- 데이터베이스에는 많은 정보들이 저장합니다. API는 보안과 편의를 위해서
여러분이 가진 서버와 데이터베이스에 대한 출입구 역할을 하며, 허용된 사람들에게만 접근성을 부여해줍니다.
2. API는 애플리케이션과 기기가 원활하게 통신 역활
- API는 애플리케이션(스마트폰 어플(APP)이나 프로그램등)과 기기가 데이터를 원활히 주고받을 수 있도록 돕는 역할을 합니다.
3. API는 모든 접속을 표준화함
API는 모든 접속을 표준화하기 때문에 기계/ 운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있습니다. 쉽게 말해, API는 범용 플러그처럼 작동한다고 볼 수 있습니다.
API 유형
1) private API
- private API는 내부 API로, 회사 개발자가 자체 제품과 서비스를 개선하기 위해 내부적으로 발행. (외부노출 X)
2) public API
- public API는 개방형 API로, 누구나 제한 없이 API를 사용가능. (외부노출 O)
3) partner API
- partner API는 기업이 데이터 공유에 동의하는 특정인들만 사용가능. (부분 노출 )