API
란 무엇일까?
먼저 사전적 정의를 알아보자.
API(Application Programming Interface 애플리케이션 프로그래밍 인터페이스, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.
Application Programming Interface...? 프로그래밍언어...제어...인터페이스..!?
흠.. 그래서 API가 뭐라구요..?
정리하자면,
API
는 한 프로그램에서 다른 프로그램으로 데이터를 주고 받기 위한 방법이다.이해를 돕기 위해, 식당 메뉴판을 예로 들 수 있다. 식당 내 손님은 커스텀으로 음식을 주문하는 게 아니라 메뉴판을 보고 메뉴판에 적힌 메뉴를 주문한다.
여기서 메뉴판은 API
와 같은 역할을 하고 있다고 볼 수 있다.
메뉴판 API
역할 : 식당과 손님 사이에서 음식을 주고받기 위한 방법 ( 여기서 방법은 그냥 코드를 말한다. 코드를 사용하며 주고 받는다. )
⭐️ 쉽게 말해 프로그램간 커뮤니케이션을 담당하는 기능
API
는 해당 프로그램의 기능을 다른 프로그램이 쓸 수 있게 하는 것이 목적이다.
예시 :
웹툰 보내주는 프로그램(웹서버)어떻게 보여줄까?
API
: 웹툰 서버와 손님이 웹툰을 주고받기 위한 방법API
는 작성할 때 작성하는 법이 정해져 있다.정확히 만드려면 세 가지 정보가 들어가야한다.
예 ) (GET요청)comic.naver.com/webtoon/detail?id=318995
+) 참고로, 웹의 경우 REST API
라는 원칙에 따라 작성하면 좋다.
그렇다면 이제 유저 입장에서 생각해보자.
유저도 이러한 코드를 작성해서 데이터를 꺼내올 수 있다.
네? 전 코드를 못 짜는데요 ? 아냐 너 매일 하고 있어. 주소창에 적고 있잖아!
API
요청 코드 짜는 곳이다. (GET 요청가능)우리가 보이는 페이지 내의 버튼, 이미지 버튼, 링크 버튼 등등
Html 파일 안에다가 API
요청을 쉽게 할 수 있는 버튼들이 숨겨져 있다.
이 버튼을 누르면 저쪽으로 get요청 해주세요 등등 이런식으로 코드가 숨겨져 있는 거다.
API
는 항상 public
일 필요가 없다.Public
/ private
/ Partner
API
Public API
: 누구나 사용가능한 공개 api
Private API
: 사내에서 몰래쓰는 api
Partner api
: 미리 정해둔 사람만 쓰는 api
웹 말고도 다른 곳에서도 API
가 존재한다. 모든 프로그램은 api
를 가질 수 있다.
Windows api
: 윈도우 운영체제 기능들 사용 가능
Database 관리프로그램 api
: db 입출력 기능들 사용가능
XX 프로그램 API
: XX기능들 사용가능
API는 어렵고 복잡한 과정을 쉽게 전달받을 수 있도록 만들어주는 다리 역할을 해줌으로써 작업을 빠르고 간결하게 진행할 수 있다.
개발자가 프로그램을 만드는데 필요한 어떤 기능을 직접 구현하지 않고 API 제공자들이 제공하는 데이터와 모듈 등을 갖다쓸 수 있게 해주는 게 API와 API 문서이다.
API가 공개되지 않았다면 쓸 수 없다. 또 공개 API라고 하더라도 호출 횟수가 많아지면 비용을 지불해야 할 수도 있다.
참조 :
https://www.youtube.com/watch?v=ckSdPNKM2pY
https://dev-dain.tistory.com/50