Skip to main content

당신과 나를 위한 API 만들기

학습 목표

이 유닛을 완료하면 다음을 수행할 수 있습니다.

  • API를 정의하고 설명할 수 있습니다.
  • API의 일반적인 용례를 제시할 수 있습니다.

참고

이 유닛은 애플리케이션 프로그램 인터페이스(API)의 개념과 원리를 학습하고 싶은 분이라면 누구나 읽어보셔도 좋습니다. 이번 유닛은 통합 마스터하기를 구성하는 모듈 중 하나이기도 합니다. 해당 트레일을 완료하세요. 거의 다 끝났습니다!

이제 기술은 우리의 삶 곳곳에 스며들었으며 연결성은 4차 산업 혁명의 초석으로 자리매김했습니다. 우리는 어떤 방식으로든 서로 연결되어 있습니다.

  • 이제는 스마트폰으로 Yelp 리뷰를 보며 동네 맛집을 찾거나,
  • 여행 예약 사이트를 통해 이용할 수 있는 모든 항공편과 호텔을 찾을 수 있고,
  • 심지어 가전을 통해서도 생활용품을 구매할 수 있습니다. 이를테면 Alexa를 지원하는 AmazonBasics 전자레인지를 통해 전자레인지용 팝콘을 바로 주문하는 것처럼 말이죠.

그 원리가 궁금하지는 않으셨나요?

수십 년간 대다수의 컴퓨터 소프트웨어는 오직 인간이라는 하나의 사용자를 염두에 두고 개발 및 배포되었습니다. 소프트웨어 내부에서 어떤 일련의 이벤트가 발생하든, 결국 그 끝에는 인간이 있었습니다. 이로 인해 사용자는 오직 사용자 인터페이스(UI)를 통해서만 데이터에 액세스할 수 있었습니다.

하지만 사람이 아닌 소프트웨어가 동일한 데이터에 쉽게 접근할 수 있다면 어떻게 될까요? 예를 들면 여러분의 스마트 워치에 기록된 걸음 수를 웹상의 운동량 차트 서비스 또는 여러분의 체력 향상에 도움을 주는 의사의 전자 건강 기록(EHR) 시스템과 연동할 수 있다면 어떻게 될까요? 이러한 경우에는 기존과 매우 상이한 UI가 필요합니다. 소프트웨어는 사람과 같은 감각, 감정, 직관이 없으니 화려한 그래픽 사용자 인터페이스는 필요하지 않습니다. 하지만 인간에게 적합한 UI가 필요하듯이 소프트웨어 또한 다른 소프트웨어의 기능을 활용하거나 그로부터 데이터를 얻으려면 그에 적합한 인터페이스가 필요합니다.

바로 이때 API라고 알려진 애플리케이션 프로그램 인터페이스가 필요합니다. 애플리케이션, 데이터, 기기가 특정 목적(데이터 시각화 등)을 위해 구성된 환경에서 데이터 및 기능을 공유할 때, 배후에서 그 연결을 담당하는 것은 바로 API입니다.

API란 무엇인가?

API는 사람이 아닌 소프트웨어를 위해 설계된 사용자 인터페이스입니다. 각종 매체에서 API를 애플리케이션 간의 대화를 가능하게 하는 기술이라고 설명하는 이유가 여기에 있습니다.

클라이언트라는 하위 텍스트가 있는 데스크톱 모니터의 이미지. 상단 화살표는 서버로의 요청 전송을 나타냅니다. 하단 화살표는 데스크톱 모니터로의 반환 응답을 나타냅니다.

먼저 클라이언트가 다른 시스템에 특정 정보나 기능에 대한 요청을 전송합니다. 그러면 해당 시스템은 요청받은 데이터나 기능을 반환하여 응답합니다. 이때 데이터를 전송하거나 수신하려면 양쪽에서 모두 이해할 수 있는 포맷이 마련되어야 합니다. 해당 포맷은 연결이 발생하는 환경에 따라 크게 달라질 수 있습니다. 더 자세히 살펴보겠습니다.

어느 헬스장의 사업주가 새로 개업하는 분점에 설치하는 새 운동 기구에 전원을 연결하려고 합니다. 해당 지역은 북미이기 때문에 사업주는 미국 가정용 플러그가 필요하다는 것을 압니다. 또한 벽 콘센트의 전압은 120볼트라는 것도 알고 있습니다. 이러한 지침은 벽 콘센트에 꽂아 전력을 연결해야 하는 모든 기기에 대한 요구 사항을 구성합니다.

API 또한 이와 비슷하게 작동합니다.

API: 소프트웨어 사이에 흐르는 전류

그래서 벽에 설치된 전기 콘센트가 API와 무슨 관련이 있다는 것일까요?

API 톱니바퀴 아이콘에 모두 연결된 데스크톱, 냉장고, 스마트폰의 이미지

이렇게 생각해 봅시다.

  • 벽 콘센트를 통해 공급되는 전기는 서비스입니다. 서비스 공급은 언제든지 시작되거나 중단될 수 있습니다.
  • 벽 콘센트에 연결된 러닝 머신은 전기가 있어야 작동합니다.
  • 러닝 머신은 자체 동력원을 갖추고 있지 않습니다. 따라서 풍력 터빈이나 태양열 등으로 전기를 생산하는 서비스 공급업체에 전기를 위탁합니다.

전기 소켓은 국가별로 다르면서도 예측 가능한 표준적인 패턴을 갖고 있으며, 러닝 머신에 딸린 전기 플러그는 그러한 표준적 패턴에 맞게 설계되어 있습니다.

이러한 모든 사양은 서비스를 사용하고자 하는 모든 기기가 준수해야 하는 포맷이 됩니다. 플러그와 전원 공급 장치는 서비스용 표준 패턴과 사양(예: 120볼트)을 준수합니다. API도 이와 동일합니다.

표준화된 전기 콘센트와 마찬가지로 API 또한 다른 소프트웨어가 쉽게 데이터와 기능을 교환하는 데 필요한 표준적 패턴을 제공합니다. 데이터를 송수신하려는 소프트웨어는 반드시 해당 사양을 준수해야 요청을 전송할 수 있습니다. API는 기존의 프로세스(고객 경험 등)를 새로운 데이터와 기능에 연결할 수 있게 합니다.

계속해서 무료로 학습하세요!
계속 진행하려면 계정을 가입하세요.
얻을 수 있는 이점
  • 커리어 목표에 대한 개인화된 권장 사항 제공받기
  • 실습 과제 및 퀴즈를 통해 스킬 연습
  • 진행 상황을 추적하고 고용주에게 공유
  • 멘토십과 커리어 기회에 연결