· 정의 및 프로토콜의 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 매커니즘
· 프로그램들이 서로 "상호작용"하는 것을 도와주는 매개체
👉 1. < 손님 (프로그램) > 이 주문할 수 있도록 < 메뉴 (명령 목록) > 을 정리
👉 2. < 주문 (명령) > 을 받으면 < 요리사 (응용 프로그램) > 와 상호작용
👉 3. < 요청된 메뉴 (명령에 대한 값) > 을 전달
백엔드 : 요리사
나 : 클라이언트
API : 키오스크
· API 는 서버와 데이터베이스에 대한 "출입구" 역할 수행
👉 API를 통해 DB에 직접 접근하지 않고 DB에 저장된 정보를 가져올 수 있음
· API는 어플리케이션과 기기가 원활하게 통신할 수 있도록 지원
👉 Client Side 의 request, Server 의 response, Client Side에 전달
· API는 모든 접속을 "표준화"
👉 기기·운영체제와 상관없이 동일한 엑세스를 얻을 수 있음
👉 범용 플러그처럼 작동
⚪ Private API
외부에 공유되지 않는 비공개 내부 API
⚪ Partner API
데이터 공유 권한을 받은 특정한 사람 · 기업들만 사용 가능한 API
⚪ Public API
누구나 접근 가능하도록 공개되어 있는 API
· Public API 와 동일한 개념으로, 모두에게 열려있는 API
· 개발 리소스를 최소화하여, 핵심 비즈니스 로직 개발에 집중하도록 함
👉 다양한 사업 아이템의 기획을 실현시키는 "다리 역할"
⚪ 공공 데이터 포털
공공행정, 과학기술, 교육 등의 공공데이터와 API 제공
⚪ Naver Developers
네이버 검색, 캡처, 공유하기 등의 네이버 기능을 활용할 수 있는 API 제공
⚪ Daum Developers
카카오 로그인, 지도, 채널 등의 카카오 기능을 활용할 수 있는 API 제공
⚪ Google Developers
구글 지도, 드라이브, 유튜브 등의 구글 기능을 활용할 수 있는 API 제공
⚪ OpenWeather
전세계의 날씨 데이터를 연동할 수 있는 API 제공
⚪ Crunchbase Data
기업의 자금 흐름, 투자 상황 등에 대한 API 제공