본문 바로가기
IT & 디자인

비개발자도 쉽게 이해하는 API 뜻 기초 개념

by 셀레나 Selena 2023. 2. 6.

Title graphic of the post : basic concept of API & Open API
비전공자도 쉽게 이해하는 API 기본 개념

 

 

API가 뭘까?

  최근 트위터가 그동안 공개적으로 제공해왔던 트위터API를 유료 구독제로 전환하겠다는 입장을 내놓아서 화제가 되었는데요. 꼭 IT나 개발 분야에 관심이 없어도 요즘은 뉴스 기사나 각종 SNS의 운영 정책, 이용 약관 등에서도 API라는 단어를 자주 접하게 됩니다. 그런데 막상 검색을 해보면 너무 어려운 용어들이 많이 나와서 이해하기가 어려워요.

  오늘은 API가 무엇인지, 어디에 쓰이는 것인지에 대해 개발자, 전공자가 아니신 분들도 이해할 수 있도록 간단하게 설명하고 API 인증키와 공공API의 의미에 대해서도 알아보도록 하겠습니다.

 

01 API의 뜻

 

API = 프로그램(앱)과 프로그램(앱)을 이어주는 중간 다리 = 앱과 앱을 연결해주는 매개체

 

  구글에 API를 검색해보면 API = Application Programming Interface(애플리케이션 프로그램 인터페이스) 의 줄임말이라는 정의와 함께 여러가지 문서를 보실 수 있을텐데요. API에 대해 설명해놓은 문서를 쭉 읽어내려가다보면 어쩐지 어려운 IT용어가 많이 나와 무슨 말인지도 모르겠고, 읽기가 힘들어집니다. API는 간단히 말하면 앱과 앱, 혹은 프로그램과 프로그램 사이를 이어주는 다리 역할을 합니다. 연결선 이라고도 할 수 있겠네요.

 

  그럼 이제 앱과 앱 사이를 이어준다고? 왜 이어야하는데? 하는 궁금증이 생기실겁니다. 페이스북이면 페이스북, 인스타면 인스타, 게임이면 게임. 따로따로 접속하면 되지 뭘 연결해? 이걸 이해하기 위해서는 먼저 API가 정확히 무엇을 전달하는지부터 이해해야 합니다. 아래의 그림을 볼까요?

 

 

02 API의 역할

A simple infographic to clarify the role of API
주방의 요리사, 웨이터, 그리고 손님

 

  멋진 레스토랑에 가서 음식을 주문한다고 생각해봅시다. 안으로 들어가 웨이터분께서 자리를 안내해주시면 여러분은 그 자리에 앉아서 메뉴판을 보고, 먹고 싶은 음식을 고르겠죠? 무엇을 먹을지 결정했다면 다시 웨이터분께 말씀드려서 주문을 하고, 일행과 대화를 하며 기다리다보면 주문한 음식이 주방에서 요리되어 나옵니다. 이제 맛있게 먹기만 하면 돼요. 간단하죠?

 

  여러분께서는 방금 아주 쉽게 API를 이용하셨습니다.

 

  이 상황에서, API는 바로 여러분의 주문을 전달한 웨이터 입니다. 위의 그림대로 이해하면 굉장히 간단해요. 음식을 요리하는 주방이 하나의 프로그램(시스템), 그 요리를 먹고 싶은 여러분이 또 하나의 프로그램, 그리고 마지막으로 그 사이를 오가며 주문과 요리를 전달한 웨이터가 바로 API입니다. 일직선상에 놓으면

 

주방(프로그램) - 웨이터(API) - 손님(프로그램)

 

이런 형태가 되겠네요. 이걸 아셨다면 이젠 API가 프로그램과 프로그램 사이를 연결하는 역할을 한다는 말을 매우 간단하게 이해할 수 있게 됩니다.

 

  혹시 앱이나 어떤 홈페이지에 가입할때 'OO로 로그인', 또는 'ㅁㅁ ID로 계속' 같은 말을 보신적 있으신가요? 이게 바로 API를 이용한 서비스입니다. 여러분이 어떤 앱을 새로 다운 받아서 계정을 만든다고 가정해봅시다. 그런데 이미 이용해본 적 있는 서비스, 다시 말해 다녀와본 적이 있는 식당이 가입 메뉴에 나와있네요. 그러면 이 식당 ID로 새로운 앱에 가입해볼까요? 이 때 여러분이 새로 다운 받은 앱을 A, 그리고 다녀와본 적 있는 식당(=이용해본 서비스)을 B라고 해보겠습니다.

 

    여러분이 'B 계정으로 로그인'을 선택하면, A앱에서는 먼저 여러분의 정보를 확인하기 위해 B에 '이 분의 정보를 보여주세요.'라는 요청을 하게 됩니다. 즉, 식당에서 주문을 한 사람인 A가 손님이 되고, 주문을 받는 B가 주방이 되는거겠죠? A가 여러분의 정보(=주문)를 B식당의 웨이터 API에게 요청하면, 이 요청이 B 주방에 전달됩니다. 그리고 주방에서 '이 정보는 사실입니다!'라고 확인되면 다시 B 식당의 웨이터 API가 그 사실을 손님인 A에게 전해줍니다. 이미 여러분의 정보가 B를 통해서 확인되었기 때문에 A에는 다시 개인정보를 입력할 필요 없이 간편하게 가입 처리가 되고, 서비스를 이용할 수 있는거죠. 

 

    API가 필요한 이유 역시 위의 비유로부터 쉽게 이해할 수 있습니다. 식당에 손님이 올때마다 매번 요리사가 주방에서 나와서 주문을 받아야하면 굉장히 번거롭고 시간이 오래 걸립니다. 반대로 손님이 주방에 직접 들어가서 주문을 한다면 바깥에서 들어온 손님 때문에 위생 문제가 생길 수도 있고, 아무나 들어오게 두면 식당만의 요리법이나 특제 소스 비법이 유출될지도 몰라요. 그러니 주방에는 요리를 하는 요리사들만 머무르게 하면서 음식을 만드는데 집중하는 것이 좋겠죠? 시간을 낭비하지 않도록 해주는 효율성과 외부인 출입을 막아 주방에서 생길 수 있는 문제를 예방하는 보안. 이 두 가지가 API가 필요한 가장 큰 이유입니다.

 

 

03 API 인증, API 보안키?

  그렇다면 가끔 보게 되는 API 인증키는 무엇일까. 이것도 매장에 비유하면 이해가 쉽습니다. 이번에는 신발을 사러 갔다고 생각해볼까요? 디스플레이 된 신발 중에 마음에 드는게 있어서 직원분께 말씀드렸는데 재고를 확인해보셔야 할 것 같다고 합니다. 이번에도 그 직원분이 바로 API 역할을 하고 계신거예요.

  여러 브랜드의 신발을 파는 종합 매장에 가보면 보통 매장 안쪽이나 진열대 아래의 잠긴 칸에 새 박스에 포장된 신발들이 들어있죠? 새 신발을 쇼핑몰 바깥에 아무렇게나 쌓아두거나 재고 창고가 매장 바깥에 공개되어 있다면 관리도 어렵고 도난 사고도 발생할 수 있으니까요. 여기서 신발 매장의 직원이 재고 창고를 열기 위해 가지고 있는 열쇠가 바로 API의 보안키(key) 입니다. 혹은 직원이 여러명이고, 열쇠를 여러개 만들어 번호를 붙여놓은 뒤 관리하고 있다면 그 열쇠에 붙은 고유 번호가 API 인증을 위한 보안키가 될 수도 있겠네요.

  API가 어떤 시스템의 정보에 접속하기 위해 부여받은 고유 번호가 바로 API 보안키 입니다. 누가 어떤 정보를 가져가는지 곧바로 식별할 수 있도록 특별한 번호를 붙여주는거예요.

 

 

04 공공, 오픈 API는?

  마지막으로 공공 API에 대해 설명해보겠습니다. 공공 API는 말그대로 누구나 이용할 수 있는 열린 API라는 뜻이에요. 오픈 API라고 부르기도 합니다. 누구든지 제한없이 사용할 수 있게 열어두어 사용자들이 이 정보를 이용해 부가적인 기능을 만들거나 개선점을 찾을 수 있게 하는 것이 공공 API의 일반적인 목적입니다. 우리나라 공공기관에서도 다양한 분야의 공공API를 제공하며 일반 사용자들이 데이터를 이용할 수 있게 하고 있어요. 대표적인 예로 공공데이터포털이 있습니다. 행정안전부 공공데이터포털에서는 다양한 공개 API를 검색하고 이를 활용한 예를 확인해 볼 수 있어요.

 

 

  이번 포스팅에서는 API의 기초 개념과 뜻, 역할을 쉽게 설명하고 API 인증 보안과 공공 API에 대해 간략하게 알아보았습니다. API의 기본적인 의미를 이해하는데 도움이 되었길 바랍니다.

 

 

 

 

 

 

 

 

 

디지털 노마드 세레나

sailorselena.com

'IT & 디자인' 카테고리의 다른 글

폰트 OTF와 TTF차이 - 오픈타입과 트루타입 글꼴  (0) 2023.02.27

댓글