카테고리 없음

API(Application Programming Interface)란?

티베트 모래여우 2020. 10. 14. 23:21
반응형

API(Application Programming Interface)란?

API는 ​"응용 프로그램 프로그래밍 인터페이스"의 줄임말로 위키피디아에 의하면 "응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다."라고 합니다. 대체 이게 뭔 소리일까요?

알고보면 어렵지 않습니다.

 


자세히 알아보기

우선 인터페이스라는 용어를 생각해봅시다.

인터페이스는 쉽게 말해서 사용자와 기기의 상호작용을 돕는 시스템입니다.

가장 대표적인 인터페이스로는 TV와 리모컨이 있습니다. 우리가 TV를 켜고 채널을 돌릴 때 굳이 귀찮게 TV앞까지 가서 직접 버튼을 조작하는 경우는 거의 없고 대부분 리모컨을 사용해서 TV를 조작하죠? 여기서 리모컨이 바로 인터페이스의 역할을 하는 것입니다. 사용자와 기기(TV)의 상호작용을 말 그대로 도와주는 역할이죠.

중간 매개체 정도로 생각 할 수 있겠습니다.

인터페이스에 대해 이해가 좀 되셨나요?

그렇다면 이제 다시 API로 돌아와서 한 줄로 요약해드리겠습니다.

API는 프로그램과 프로그램간의 인터페이스를 의미합니다.

좀 더 풀어서 설명하면 프로그램과 프로그램이 상호작용 할 수 있도록 연결해주는 일종의 매개체를 의미합니다.

위의 예시에서 사용자가 인터페이스(리모컨)를 통해 기기(TV)와 상호작용 한것처럼 같은 방식으로 프로그램과 프로그램이 상호작용을 할 수 있게 연결해주는 다리같은 존재라고 보시면 됩니다.

복잡하게 생각할 것 없이 내가 만든 프로그램이 기업,국가,다른 개발자 등이 제공하는 프로그램의 기능을 사용하게 해주는 역할을 한다..라고 생각하시면 됩니다.

예를 들어서 생각해볼까요?

가장 간단한 예시로는 일기예보 어플이 있습니다.

일기예보 어플에 날짜와 위치를 입력하면 날씨를 알려주죠?

그런데 이 일기예보 어플은 어떻게 날씨정보를 알려주는걸까요? 당연한 얘기지만 어플에서 내부 연산으로 날씨를 예측할리는 없겠죠.(이게 가능하려면 외계인 고문 말고는 방법이 없습니다).

일기예보 어플은 바로 기상청에서 제공하는 API를 사용하는겁니다.

(여기서 API를 사용한다는 뜻은 API 제공자가 명시한 대로 프로그램 코드를 짜서 사용한다는 뜻입니다.)

그림판이라 죄송합니다

1. 어플에서 날짜, 위치 정보를 기상청 API에 제공하고

2. 기상청 API는 해당 정보를 토대로 날씨정보를 기상청 서버에 요청합니다.

3. 서버에서 반환된 데이터를 다시 API가 어플에게 돌려주고

4. 어플은 그 데이터를 잘 정제하고 다듬어서 유저에게 보여줍니다.

예시로 든 기상청 API 외에도 카카오맵 API, 네오플 API 등 다양한 오픈 API들이 많으니 한번 쯤 둘러보시길 권장합니다.


유의점

단, API 사용시에 유의할 점이 있습니다. API는 프로그램 코드를 통해 이용할 수 있기 때문에 반드시 API 제공자가 명시한 규칙을 따라야 합니다. 이는 API를 제공하는 측에서 해당 양식이나 사용법을 미리 정리해 놓으니 꼼꼼히 읽어보고 사용하시면 됩니다.

한 짤 요약 ​

 

반응형