기타

API(Application Programming Interface)란?

킹남지 2021. 9. 9. 11:57
반응형

갑자기 API가 정확히 무엇인지 의문이 들어 정리했습니다.

 

위키백과를 보면, API(Application Programming Interface)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 라고 쓰여있습니다.

 

인터페이스

먼저, 흔히들 말하는 인터페이스가 무엇인지 한번 이해해보겠습니다.

 

인터페이스(interface)서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 교환하는 공유 경계를 의미합니다.

(쉽게 생각하면 객체와 객체 사이의 매개체 정도로 받아들여도 될 것 같습니다.)

 

이러한 교환은 소프트웨어, 하드웨어, 주변기기, 사람 간에 이루어질 수 있고, 복합적으로 이루어질 수도 있습니다. 터치스크린과 같은 일부 컴퓨터 하드웨어 장치들은 인터페이스를 통해 데이터를 송수신할 수 있으며 마우스나 마이크로폰과 같은 장치들은 오직 시스템에 데이터를 전송만 하는 인터페이스를 제공합니다.

 

 

API

API(Application Programming Interface), 응용 프로그램 인터페이스는 그럼 어떤 인터페이스인지 감이 조금 옵니다.

 

API는 어떠한 응용 프로그램 간 정보나 신호를 주고받기 위한 방법입니다. 이는 새로운 연결 인프라를 구축할 필요 없이 제품 및 서비스가 서로 정보를 교환할 수 있도록 도와줍니다. 주목해야 할 점은 API는 사람을 위한 인터페이스가 아닌 응용 프로그램을 위한 인터페이스입니다.

 

 

먼저, 간단한 예시로 이해해 봅시다.

예시

예를 들어 날씨 제공하는 사이트에서 날씨를 확인하려면, 

웹 브라우저 실행 - 사이트 접속 - 지역 및 날짜 입력 - 날씨 확인 

의 과정을 거쳐야 합니다. 이러한 과정은 API를 활용해 훨씬 효율적으로 만들 수 있습니다.

 

만약 해당 사이트가 API를 제공한다면 사용자의 프로그램이 API를 사용해

API에 날짜/지역 정보를 전달 - API에서 날씨정보를 응답

의 과정을 거치면 됩니다.

 

규격

찾아보니 API를 설명할 때 규격이라는 말을 많이 쓰는 것 같습니다.

어떤 프로그램에서 데이터를 공유하는 경우 어떤 방식으로 정보(데이터)를 요청해야 하는지, 어떠한 정보를 제공 받을 수 있을지에 대한 규격을 API라고 생각할 수 있습니다.

 

API는 사용 방법과 용도에 따라 오픈 API와, 비공개 API 정보가 있습니다. 오픈 API는 누구든 접근해 정보를 공유하기 위해 만들어진 규격, 비공개 API는 권한이 있는 사용자들에게만 정보를 제공하기 위해 만들어진 규격입니다.

 

 

다양한 플랫폼에서 API를 제공하는 사례를 찾아보면서 이해하면 더 좋을 것 같습니다.

읽어주셔서 감사합니다. ^^

 

 

 

 

[참고자료]

[1] https://ko.wikipedia.org/wiki/API

[2]https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4_(%EC%BB%B4%ED%93%A8%ED%8C%85) 

[3] https://www.redhat.com/ko/topics/api

반응형