API
한 줄 정의
서로 다른 프로그램이 정해진 방식으로 기능이나 데이터를 주고받을 수 있게 해주는 인터페이스
1. 비유로 이해하기
API는 식당의 메뉴판과 주문 창구에 비유하면 이해하기 쉽다.
손님이 주방에 직접 들어가서 음식을 만드는 방법을 알아낼 필요는 없다. 메뉴판에서 원하는 음식을 고르고, 주문 창구를 통해 요청하면 주방에서 음식을 만들어 결과를 돌려준다.
프로그램도 비슷하다.
어떤 프로그램이 다른 프로그램의 기능이나 데이터를 사용하고 싶을 때, 그 프로그램 내부를 직접 건드리는 대신 미리 정해진 API 규칙에 따라 요청을 보낸다.
예를 들어 날씨 애플리케이션이 기상 데이터를 직접 가지고 있지 않아도 날씨 API에 요청을 보내면 현재 기온이나 날씨 정보를 받아올 수 있다.
웹에서 흔히 사용하는 API는 다음과 같은 흐름으로 동작한다.
요청(Request) → 서버 처리 → 응답(Response)
예를 들어,
“서울의 현재 날씨를 알려줘.”
라는 요청을 API에 보내면 서버가 처리한 뒤 날씨 데이터가 포함된 응답을 반환하는 방식이다.
그래서 API의 핵심은 프로그램끼리 직접 내부 구현을 공유하는 것이 아니라, 약속된 접점을 통해 필요한 기능이나 데이터를 주고받는 것이다.
2. 왜 필요한가
프로그램을 만들다 보면 모든 기능을 하나의 프로그램 안에서 직접 구현하기 어렵다.
로그인, 결제, 지도, 날씨, 번역, AI 모델처럼 이미 다른 서비스가 제공하는 기능을 가져와 사용할 수도 있다.
이때 API가 있으면 상대 프로그램의 내부 코드를 모두 알 필요 없이 정해진 사용 방법만 따르면 필요한 기능을 이용할 수 있다.
웹 서비스에서도 API는 중요한 역할을 한다.
예를 들어 사용자가 웹 페이지에서 버튼을 눌렀을 때,
프론트엔드 → API 요청 → 백엔드 → 데이터베이스 → API 응답 → 프론트엔드 화면
같은 흐름으로 데이터가 오갈 수 있다.
이렇게 API를 사용하면 프론트엔드와 백엔드를 분리하면서도 서로 통신할 수 있다.
AI 서비스를 만들 때도 마찬가지다. 애플리케이션이 외부 AI 모델을 사용하려면 보통 해당 서비스가 제공하는 API를 통해 요청을 보내고 결과를 받아온다.
3. 어디서 만났나
AI 에이전트 수업 4회차에서 API를 처음 접했다.
이번 수업에서 API를 이해하면서, 웹 애플리케이션에서 프론트엔드와 백엔드가 서로 데이터를 주고받는 방식뿐 아니라 외부 서비스나 AI 모델의 기능을 애플리케이션에서 사용하는 방법까지 연결해서 이해할 수 있었다.
별도의 4회차 리뷰 글 링크는 현재 없다.
4. 헷갈리는 개념
| 이 용어 | 비슷하지만 다른 것 | 차이 |
|---|---|---|
| API | 백엔드 | 백엔드는 실제 데이터와 비즈니스 로직 등을 처리하는 시스템이고, API는 다른 프로그램이 그 기능에 접근할 수 있도록 제공하는 접점이다. |
| API | 프론트엔드 | 프론트엔드는 사용자가 보고 조작하는 부분이고, API는 프론트엔드와 서버 등이 데이터를 주고받을 수 있게 해주는 통신 규칙과 접점이다. |
| API | JSON | API는 프로그램 간 통신을 위한 인터페이스이고, JSON은 데이터를 표현하는 형식 중 하나다. API의 요청이나 응답 데이터를 JSON으로 주고받을 수 있다. |
| API | URL | URL은 특정 자원의 위치를 나타내는 주소이고, API는 정해진 방식으로 기능이나 데이터를 요청하고 사용하는 인터페이스다. 웹 API에서는 URL이 요청 대상(endpoint)을 나타내는 데 사용될 수 있다. |
| API | AI 에이전트 | API는 다른 프로그램의 기능이나 데이터를 사용할 수 있게 하는 연결 방식이고, AI 에이전트는 목표를 달성하기 위해 API를 포함한 여러 도구를 사용할 수 있는 시스템이다. |
5. 많이들 오해하는 지점
API가 곧 서버는 아니다
API와 서버를 같은 것으로 생각하기 쉽지만 역할이 다르다.
서버는 요청을 받아 실제 작업을 처리하는 시스템이고, API는 그 서버의 기능이나 데이터에 접근하기 위해 정해놓은 규칙과 접점이라고 볼 수 있다.
API는 URL 하나를 뜻하는 것이 아니다
웹 API를 처음 접하면 /users나 /api/login 같은 주소 자체를 API라고 생각하기 쉽다.
하지만 API는 단순한 주소 하나가 아니라 어떤 요청을 어떤 방식으로 보내고, 어떤 형태의 응답을 받는지에 대한 약속 전체를 의미한다.
API는 데이터를 주고받는 것만을 뜻하지 않는다
데이터를 조회하는 API도 있지만, 로그인·결제·파일 업로드처럼 어떤 기능을 실행하기 위한 API도 있다.
즉 API의 역할은 단순한 데이터 전달보다 넓다.
6. 관련 용어
백엔드 · 프론트엔드 · JSON · 동기와 비동기 · AI 에이전트