API에 대해 알아보지 않고 내가 만들고 사용 하며 배운 지식으로 만 알고 있었는데, 이번 계기로 API에 대해 자세히 알아 보게 되었습니다!!
우선 API 예시를 하나 들어 보도록 하겠습니다!
- 점원이 가져다준 메뉴판을 보면서 내가 원하는 음식을 선택하고, 점원이 주문을 받아 요리사에 요청하고,
- 요리사는 정성껏 요리를 만들어 점원에게 전달하고
- 점원이 가져다준 맛있는 음식을 먹습니다!
여기서 API 는 점원, 손님은 요청자, 요리사는 제공해주는 자 입니다!!
위의 예시를 정리 해보면
- API는 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)를 정리하는 역할,
- 주문(명령)을 받으면 요리사(응용프로그램)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달 합니다!
표현하자고 하면, API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체로 볼 수 있습니다.
데이터베이스에는 소중한 정보들이 저장되는데요. 아무나 이 데이터베이스에 접근할 수 있으면 안 되겠죠?
API는 이를 방지하기 위해 여러분이 가진 서버와 데이터베이스에 대한 출입구 역할을 합니다!
허용된 사람들에게만 접근성을 부여해줍니다.이 부분에서 우리는 API 를 사용하기 위해서는 (호출 애플리케이션 또는 사용자를 식별하도록 API에 전달되는 고유 코드) 키를 발급해야 접근성이 생깁니다!
출입구 역할의 예시
서버를 자신이라 비유 하고 데이터베이스를 집이라고 비유 하고 API 를 열쇠로 비유하겠습니다!
내 집을 나만 들어갈 수 있게 해야지 모르는 사람이 아무렇지 않게 들어올 수 있게 하면 안되겠죠?!!
이를 방지 하기 위해 열쇠가 있는 것입니다! 열쇠가 없으면 문을 열지 못하게 끔 하는 것입니다!
이 부분에서 내가 열쇠를 부여해야 부여한 다른 사람에게 집을 들어 올 수 있는 접근성이 생기는 것 입니다!
위 애플리케이션이란 우리가 흔히 알고 있는 스마트폰 어플이나 프로그램을 말하는 겁니다!
API는 애플리케이션과 기기가 데이터를 원활히 주고받을 수 있도록 돕는 역할을 합니다.
API는 모든 접속을 표준화하기 때문에 기계/ 운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있습니다. 쉽게 말해, API는 범용 플러그처럼 작동한다고 볼 수 있습니다.
1) private API는 문서 공개가 없으면 사용할 수 없다.
: private API는 내부 API로, 회사 개발자가 자체 제품과 서비스를 개선하기 위해 내부적으로 발행합니다. 따라서 제 3자에게 노출되지 않습니다.
2) public API는 문서 공개를 한다.
: public API는 개방형 API로, 모두가 사용 할 수 있도록 공개됩니다. 누구나 제한 없이 API를 사용할 수 있는 게 특징입니다.
Private API를 이용할 경우, 개발자들이 애플리케이션 코드를 작성하는 방법을 표준화>함으로써, 간소화되고 빠른 프로세스 처리를 가능하게 합니다. 또한, 소프트 웨어를 통합하고자 할 때는 개발자들 간의 협업이 용이하게 만들어줄 수 있죠.
public API 를 사용하면, 기업은 타사 데이터를 활용하여 브랜드 인지도를 높일 수 있습니다. 뿐만 아니라 고객 데이터베이스를 확장하여 전환율까지 높일 수 있다!!
저희가 흔히 알고 있는 카카오톡으로 회원가입 하기, 다음 지도, 카카오톡 지도 등 전부 오픈 API(public API) 라고 생각하시면 될 것 같습니다!!