API 개념부터 종류, API 활용 서비스 예시
비개발자도 개발자와 원활한 소통을 하기 위해 개발자의 용어를 어느 정도 이해할 필요가 있습니다. 개발자가 아니더라도 자주 들을 수 있는 용어 중 하나가 API인데요.
오늘은 API 뜻과 종류를 알아보고, 우리 일상에서 쉽게 볼 수 있는 API 활용 사례 3가지를 소개해 드리겠습니다.
API(Application Programming Interface)란?
출처: geeks for geeks
API(Application Programming Interface)란 소프트웨어 애플리케이션이 서로 통신하여 데이터와 특징, 기능 등을 교환할 수 있도록 하는 일련의 규칙 또는 프로토콜을 말해요.
예를 들어 우리가 식당에서 식사하고 싶을 때, 직접 주방에 들어가서 음식을 조리하는 것이 아니라 웨이터에게 특정 메뉴를 주문합니다. 이때 “메뉴판”이 레스토랑의 API 역할을 합니다. 재료를 자유롭게 섞어서 수백, 수천 가지 음식을 주문하고 만들게 되면 레스토랑도, 손님도 혼란스러워집니다. 따라서 정해진 레시피에 따라 몇 가지 음식만 미리 정해두는 것이죠.
이것이 API의 의의입니다. 이처럼 API는 손님과 음식 제공자 사이의 규칙으로 작용하는데요. 실제로 개발 분야에서 API를 통해 요청하는 영역을 클라이언트(client, 손님이라는 뜻)와 서버(server, 서빙하는 사람이라는 뜻)라고 지칭합니다.
API는 사용자와 개발자에게 명료한 인터페이스를 제공하는 역할을 합니다. 이 글의 마지막에서 소개하겠지만, 각종 앱이나 웹 서비스에 가입할 때 간편하게 사용하는 소셜 로그인과 쇼핑몰에서 사용하는 토스페이 같은 간편 결제 등은 API를 활용한 대표적 예시입니다.
접근 방식에 따른 API 종류
출처: Technomerger
API는 접근 방식과 유형에 따라 종류를 구분할 수 있습니다. 접근 방식에 따른 구분으로는 비공개 API와 공개 API(오픈 API), 파트너 API, 복합 API가 있습니다.
✅ Private API
비공개 API는 말 그대로 내부용으로, 기업이나 연구 단체 등이 자체 제품이나 운영 개선을 위해 내부적으로만 사용하는 API를 말합니다. 내부에서만 사용하기 때문에 권한이 있는 일부 사용자 외에는 외부에 노출하지 않습니다.
✅ Public API
Public API는 말 그대로 모두에게 공개된 API를 말합니다. 그중에서도 접속하는 대상에 대한 제약이 없다면 Open API라고 부르는데요. 구글이나 카카오, 공공기관 등에서 정보를 공유하기 위해 제공하는 것을 말해요.
✅ Partner API
파트너 API는 특정 비즈니스 파트너 간 사용하는 것으로, 서로 공유하는 것에 동의한 사용자만 접근권을 가집니다. 주로 정보 교환, 서비스 액세스, 협업을 위해 파트너나 제3자 서비스 제공업체와 고객사 간에 사용합니다.
✅ Composite API
복합 API는 두 개 이상의 서로 다른 API를 결합해 복잡한 시스템 요구 사항이나 동작을 처리하도록 하는 소프트웨어 API입니다. 개별 API를 사용할 때 비효율적이거나 통합 프로세스를 단순화하고 싶을 때 활용합니다.
기업이 API를 사용하는 이유?
출처: pixabay
기업이 API를 이용하는 것에는 다양한 이유가 있지만, API를 활용하면 새로운 기능을 개발하는 데 드는 비용과 시간을 아낄 수 있고, 좀 더 쉽고 간편하게 서비스를 확장할 수 있기 때문입니다.
1️⃣ 개발 및 관리의 효율성
API를 사용하면 개발자는 새로운 기능을 개발하지 않고 기존의 API를 활용하기 때문에 개발 시간과 비용을 절감할 수 있습니다.
예를 들어 지도 기반의 서비스를 만들 때, 개발자는 지도 데이터를 수집할 필요 없이 구글이나 네이버 등 기존에 지도 서비스를 제공하는 기업의 오픈 API를 활용하기만 하면 됩니다.
2️⃣ 표준화로 인한 빠른 프로세스
API는 표준화되어 있기 때문에 다양한 디바이스, 운영 체제, 플랫폼에서 사용할 수 있고, 여러 가지 언어 간 호환성을 제공합니다. 특히 오픈 API는 누구에게나 개방되어 있기 때문에 외부 개발자가 쉽게 앱이나 서비스를 개발하는 데 진입장벽을 낮춰주기 때문에 다양한 서비스가 개발될 수 있습니다.
3️⃣ 기능의 확장성
API를 활용하면 전체 서비스 시스템에 영향을 주지 않고 여러 가지 기능을 모듈화해 사용할 수 있습니다. API를 잘 활용하면 향후 기능을 추가하거나 변경할 때 유연해지고, 개발 간 협업에도 용이해 집니다.
Open API 적용의 대표적 사례 3가지
API는 우리가 일상에서 사용하는 여러 가지 서비스에서 다양하게 활용되고 있는데요. 우리가 자주 접할 수 있는 API에는 어떤 것이 있는지 대표적인 예시를 소개해 드릴게요.
1️⃣ 회원가입 & 로그인이 쉽고 간편해지는 소셜 로그인
출처: 카카오
요즘 새로운 앱이나 쇼핑몰 등 웹 서비스에 회원 가입할 때 보다 간편하고 빠른 방법으로 소셜 로그인 기능을 제공합니다.
일일이 이름과 개인정보를 입력하지 않아도 네이버, 카카오, 구글, 애플 등 기존에 사용하는 계정과 연동해 비교적 간편하게 가입하고 로그인할 수 있어요.
이런 기능은 모두 각 소셜 미디어에서 제공하는 API를 활용한 것으로, 사용자가 회원가입 및 로그인하는 번거로움을 줄여 줍니다.
2️⃣ 구매 고객이 편리하고 믿을 수 있는 간편 결제 시스템
출처: 토스페이
요즘 일반 쇼핑몰에서 제품을 구매할 때 카카오페이, 네이버페이, 토스페이와 같은 간편 결제 시스템을 활용하는 것이 일반화되었는데요.
해당 쇼핑몰에서 간편 결제 시스템을 활용할 수 있는 것은 쇼핑몰에서 결제 기능을 직접 개발하지 않고, 각 간편결제 플랫폼에서 제공하는 API를 활용했기 때문입니다.
3️⃣ 날씨와 교통 정보 등 공공 데이터 포털 활용
출처: 기상청
귀여운 캐릭터를 활용한 날씨 앱이나 대중교통 도착 시간을 알려주는 앱 역시 오픈 API를 활용하면 간편하게 만들 수 있습니다.
날씨나 교통량, 대중교통 도착 시간, 공시 정보 등 정부와 지자체가 수집한 다양한 공공 데이터는 공공 데이터 포털에서 오픈 API로 제공하기 때문이죠. 공공 데이터 포털에 공개된 API는 간단한 신청 후에 활용할 수 있습니다.
지금까지 API 뜻과 활용 이유, 대표적 활용 사례를 소개해 드렸습니다. 오픈 API는 일반인도 비교적 활용하기 쉽지만, 개발 용어나 환경에 익숙하지 않다면 오랜 시간과 비용을 낭비할 수 있습니다. 우리 기업 서비스에 필요한 기능을 API로 추가하고 싶다면, 개발 전문가의 지원을 받는 것도 방법입니다.
다빈치는 다양한 IT 분야 전문가로 구성된 개발 조직으로, 모바일 앱 개발, 웹사이트 및 웹서비스 개발, 어드민 및 백오피스, RPA 및 자동화, AI 도입 등 전 분야 IT 컨설팅을 제공합니다.
막연하게 궁금한 건 많지만 무엇부터 해결해야 할지 막막하다면 다빈치에 자문을 의뢰해 보세요. 베인앤드컴퍼니, 우아한형제들(배달의민족), 삼성 출신 엘리트 개발자이자 컨설턴트가 국내 정상급 개발자의 관점으로 답해 드립니다!