API

기술노트

API란 무엇인가요?

API(응용 프로그래밍 인터페이스)란?

API(Application Programming Interface)는 소프트웨어 간의 상호 작용을 가능하게 하는 인터페이스입니다.  

즉, 한 프로그램이 다른 프로그램의 기능을 사용할 수 있도록 미리 정해진 규칙과 방법을 제공하는 것입니다.


API의 주요 특징

1️⃣ 재사용 가능

- 한 번 만든 기능을 여러 프로그램에서 사용할 수 있습니다.

- 예: 로그인 API를 만들면 웹사이트와 모바일 앱에서 동일하게 사용할 수 있음.

2️⃣ 표준화된 방식

- API는 주로 함수, 프로토콜, URL 요청 형식등의 형태로 제공됩니다.

- 개발자가 정해진 방식대로 사용하면 원하는 기능을 호출할 수 있음.

3️⃣ 보안성 유지

- 내부 시스템의 세부 구현을 숨기고 API를 통해서만 접근 가능하도록 할 수 있습니다.

- 예: 은행 앱이 계좌 정보를 가져올 때, 내부 데이터베이스를 직접 조회하는 대신 API를 사용.


API의 대표적인 종류

✅ 1. 웹 API

웹 기반에서 동작하는 API로, 클라이언트(웹, 앱)와 서버 간 데이터 교환을 가능하게 합니다.  

🔹 예: REST API, GraphQL API


클라이언트 → [요청] → 서버(API) → [응답] → 클라이언트


✔ **예제:** **REST API를 사용한 날씨 정보 조회**


GET https://api.weather.com/data?city=Seoul


- 요청: 서울의 날씨

  데이터를 가져옴

- 응답(JSON 예시):

json

{

  "city": "Seoul",

  "temperature": "15°C",

  "condition": "Sunny"

}


✅ 2. 운영체제(API)

운영체제가 제공하는 API로, 프로그래머가 하드웨어 기능을 사용할 수 있도록 합니다.  

🔹 예: Windows API, Linux System Call

✅ 3. 라이브러리 API

프로그래밍 언어에서 반복적인 작업을 쉽게 처리할 수 있도록 제공하는 API

🔹 예: JavaScript의 `fetch()` 함수 (웹 요청), Python의 `math` 라이브러리

API를 활용하는 실제 사례

✅ 구글 지도 API → 앱에서 지도 및 위치 정보 표시  

✅ 페이스북 로그인 API → 웹사이트에서 페이스북 계정으로 로그인  

✅ 카카오톡 메시지 API → 앱에서 카카오톡 메시지 전송


결론

API는 소프트웨어 간 연결을 위한 필수 도구로, 개발자는 이를 이용해 더 빠르고 효율적으로 기능을 구현할 수 있습니다. 오늘날의 웹, 모바일 앱, 클라우드 서비스 등이 원활히 동작하는 핵심 기술이 바로 API입니다.