[개발] 프로그램 지식

[면접 질문] API가 뭔가요?

  • -
반응형

 

API를 쉽게 이해하기: 비유로 알아보자

비유: 레스토랑의 메뉴판

API(Application Programming Interface)는 마치 레스토랑의 메뉴판과 같습니다.

 

 

 

 

 

1. 레스토랑과 주방

레스토랑은 다양한 요리를 제공하지만, 손님이 직접 주방에 들어가서 요리를 만드는 건 불가능합니다. 대신, 주방장(개발자)이 모든 준비를 하고 요리를 만들어 제공합니다.
비슷하게, 애플리케이션(API를 제공하는 시스템)은 내부적으로 복잡한 데이터와 기능을 가지고 있지만, 외부에서 그 모든 과정을 알 필요는 없습니다.

 

 

 

 

 

2. 메뉴판(API 문서)

손님이 레스토랑에서 주문하려면 메뉴판을 봅니다. 메뉴판에는 어떤 요리를 제공하는지, 어떤 재료가 들어가는지, 그리고 어떻게 주문해야 하는지 설명이 적혀 있습니다.
API 문서도 마찬가지로, 개발자가 API를 사용하기 위해 알아야 할 기능과 입력 방법을 정의해 둔 것입니다.

 

 

 

 

 

3. 주문 요청(API 요청)

손님이 원하는 요리를 선택해 웨이터에게 요청하면, 웨이터가 주방에 전달해 요리를 가져옵니다.
API도 비슷하게, 사용자가 요청(Request)을 보내면, 해당 데이터를 처리해 결과를 반환(응답(Response))합니다.

 

 

 

 

 

4. 결과물(API 응답)

손님은 요청한 요리를 받습니다. 하지만, 요리를 만들 때의 과정이나 주방에서 사용한 도구는 신경 쓰지 않습니다.
마찬가지로, API 사용자(개발자)는 내부 동작 방식에 대해 알 필요 없이 원하는 결과물만 받습니다.

 

 

 

 

 

 

예시로 더 구체적으로 생각해보기

상황 1: 날씨 API

  • 손님: "오늘의 날씨가 궁금해요."
  • 메뉴판(API 문서): "날씨를 확인하려면 날씨 API위치 정보를 입력하세요."
  • 주문 요청: 사용자는 자신의 위치 정보를 API에 요청으로 보냅니다.
  • 결과물: "서울의 현재 날씨는 맑음, 25도입니다."

 

 

 

 

 

상황 2: 지도 API

  • 손님: "여기서 가장 가까운 카페를 찾아주세요."
  • 메뉴판(API 문서): "위치 정보와 '카페'를 입력하면 결과를 반환합니다."
  • 주문 요청: 현재 위치를 입력하고 카페를 검색합니다.
  • 결과물: "가장 가까운 카페는 500m 떨어진 Starbucks입니다."

 

 

 

 

핵심 요약

API는 복잡한 시스템과 사용자를 연결해주는 매개체입니다. 메뉴판처럼 사용자가 요청할 수 있는 범위를 정리해 놓고, 그 요청에 따라 필요한 정보를 전달합니다. 덕분에 개발자는 시스템 내부의 모든 것을 알 필요 없이 API를 통해 필요한 기능을 쉽게 사용할 수 있습니다.

 

 

 

 

 

API는 곧 "디지털 세상에서의 메뉴판"이라고 기억하시면 됩니다! 😊

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.