웹 개발에 입문하면 API (Application Programming Interface)라는 단어를 많이 보고 듣게 됩니다
API라는 용어를 처음 들으면 어렵게 느껴질 수 있지만
사실 우리는 일상생활에서 이미 API를 수 없이 사용하고 있습니다
그래서 API가 도대체 무엇인가?
서로 다른 프로그램이 대화할 수 있게 해주는 통역사
쉽게 생각해 위와 같이 설명할 수 있습니다
마치 한국어를 하는 사람과 영어를 하는 사람 사이에 통역사가 있어야 소통할 수 있는 것처럼
프로그램들도 API라는 통역사를 통해 정보를 주고 받습니다
실생활 속 API 사용 예시
1. 배달 앱에서 지도 보기
배달의민족이나 쿠팡이츠 같은 배달 앱을 사용할 때, 내 위치나 음식점 위치를 지도로 볼 수 있습니다
이때 배달 앱이 직접 만든 지도를 사용하는 것이 아니라, 구글 지도나 네이버 지도의 API를 사용하는 것입니다
배달 앱 : "구글아, 이 주소의 지도를 보여줘"
구글 지도 API : "여기 지도 정보야!"
배달 앱 : "고마워, 사용자에게 보여줄게"
2. 소셜 로그인
웹사이트에 회원가입할 때 "Google계정으로 로그인", "카카오 계정으로 로그인" 버튼을 본 적이 있을 겁니다
이 또한 API의 대표적인 사용 예시입니다
웹사이트에서 구글이나 카카오의 API를 사용해서
"이 사람이 진짜 구글(카카오) 계정 소유자인지 확인해줘" 라고 요청하는 것입니다
3. 날씨 정보
날씨 앱이나 포털 사이트의 날씨 정보도 API를 통해 가져옵니다
기상청이나 날씨 정보 제공업체가 API를 통해
"서울의 현재 날씨는 맑음, 기온은 25도" 라는 정보를 제공하면
다양한 앱과 웹사이트에서 이 정보를 가져다 사용하는 것입니다
API를 음식점에 비유한다면
- 메뉴판 : API 문서 (제공하는 서비스 목록)
- 주문 : 프로그램이 API에 요청을 보내는 것
- 요리사 : API 서버 (요청을 처리하는 곳)
- 음식 : API를 통해 제공되는 데이터
손님(프로그램)이 메뉴판(API 문서)를 보고 "김치찌개 하나 주세요"(요청)라고 주문하면
요리사(API 서버)가 김치찌개(데이터)를 만들어서 내어줍니다
API 사용 예시
일기 앱을 만든다고 가정해보겠습니다
- 날씨 API : "오늘 날씨가 어땠는지 자동으로 기록하고 싶어" → 기상청 API 사용
- 위치 API : "어디를 다녀왔는지 기록하고 싶어" → 네이버 지도 API 사용
- 번역 API : "외국인 친구와 일기를 공유하고 싶어" → 구글 번역 API 사용
- 소셜 로그인 API : "간편하게 로그인하고 싶어" → 카카오 로그인 API 사용
이렇게 여러가지 API를 조합하여 하나의 완성된 서비스를 개발할 수 있습니다
왜 API를 사용할까?
바퀴를 다시 발명하지 마라(Don't reinvent the wheel)
프로그래밍 업계에 널리 퍼진 격언입니다
이미 잘 작동하는 해결책이나 도구가 있는데 굳이 처음부터 새로 만들 필요는 없다는 뜻입니다
배달 앱을 만든다고 해서 지도까지 직접 만들 필요는 없습니다
이미 잘 만들어진 구글 지도나 네이버 지도 API를 사용하면 시간과 비용을 크게 절약할 수 있습니다
마무리
API는 복잡해 보이지만 결국 "서로 다른 프로그램이 데이터를 주고 받기 위한 약속"입니다
API 문서또한 어려워 보이지만 "너가 OOOO 요청을 보내면 내가 ㅁㅁㅁㅁ라는 응답을 줄게"
라는 내용을 상세하게 적어둔 문서일 뿐입니다
웹개발을 시작하면서 API 개념을 이해하는 것은 매우 중요합니다
왜냐하면 현대의 모든 웹 서비스는 수많은 API들이 서로 연결되어 동작하기 때문입니다
처음에는 어렵게 느껴질 수 있지만 실제로 사용해보면 생각보다 간단하다는 것을 알게 될 것입니다
'Web' 카테고리의 다른 글
개발은 기술이 아니라 공감이다 (1) | 2025.06.25 |
---|---|
로그인 유지의 핵심 기술, 세션(Session) (0) | 2025.06.21 |
웹 쿠키란? 브라우저 쿠키, 세션, 캐시 차이까지 한 번에 정리 (2) | 2025.06.20 |
라이브러리와 프레임워크의 차이점 (1) | 2025.06.19 |