개발공부/CS

API란?

카슈밀 2025. 2. 15. 23:48
반응형

이종의 기기간 통신을 하는데 있는 인터페이스.

📌 API란?

 

**API (Application Programming Interface)**는

➡️ **응용 프로그램(Application) 간 데이터를 주고받을 수 있도록 해주는 인터페이스(Interface)**를 의미해.

 

즉, 서로 다른 소프트웨어가 소통할 수 있도록 만들어진 규칙과 도구의 집합이야.

 

📌 API의 역할

서로 다른 프로그램이 데이터를 주고받도록 도와줌.

복잡한 시스템의 내부 동작을 몰라도 필요한 기능만 사용할 수 있음.

개발자가 특정 기능을 쉽게 사용할 수 있도록 미리 정의된 규칙을 제공.

 

예를 들어, 우리가 날씨 앱에서 실시간 기온을 확인할 때

➡️ 날씨 데이터는 외부 API(기상청 API 등)에서 가져오는 거야.

 

📌 API 예제

 

📌 날씨 API 예제 (JSON 응답)

 

{

  "city": "Seoul",

  "temperature": "10°C",

  "condition": "Sunny"

}

 

클라이언트(앱, 웹사이트)는 API에 **요청(Request)**을 보냄.

API 서버는 날씨 데이터를 JSON 형식으로 **응답(Response)**함.

 

📌 API의 종류

 

1️⃣ 웹 API (REST API, GraphQL 등)

인터넷을 통해 데이터를 주고받는 API (예: OpenWeather, Twitter API)

RESTful API 방식이 가장 많이 사용됨.

 

2️⃣ 라이브러리 API

개발자가 특정 기능을 쉽게 사용할 수 있도록 제공하는 API

예: Python의 math 라이브러리, React의 useState

 

3️⃣ 운영체제 API

운영체제(OS) 기능을 사용할 수 있도록 제공하는 API

예: Windows의 DirectX, macOS의 Metal

 

4️⃣ 하드웨어 API

하드웨어 장치(카메라, 마이크 등)를 제어하는 API

예: Android의 Camera API, iOS의 CoreBluetooth

 

📌 REST API 예제 (Node.js + Express)

 

사용자 목록을 조회하는 REST API 만들기

 

const express = require("express");

const app = express();

 

let users = [{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }];

 

// 사용자 목록 조회 API (GET /users)

app.get("/users", (req, res) => {

  res.json(users);

});

 

app.listen(3000, () => console.log("API 서버가 3000번 포트에서 실행 중!"));

 

📌 이제 /users 경로에 요청을 보내면 사용자 목록을 JSON으로 반환하는 API가 동작해! 🚀

 

📌 API의 장점

 

재사용성 → 같은 API를 여러 시스템에서 활용 가능

효율성 → 클라이언트-서버 간 데이터 교환 최적화

보안성 → 필요한 데이터만 제공 가능 (예: OAuth 인증 사용)

확장성 → 새로운 기능 추가가 쉬움

 

📌 API 요약

 

API는 프로그램 간 소통을 위한 인터페이스

웹 API, 라이브러리 API, 운영체제 API 등 다양한 종류가 있음

REST API는 가장 많이 사용되는 웹 API 방식

JSON 형식으로 데이터를 주고받는 것이 일반적

 

 

 
728x90

'개발공부 > CS' 카테고리의 다른 글

가비지 컬렉터란?  (0) 2025.02.16
Docker란?  (0) 2025.02.15
TDD: 테스트 주도 개발.  (0) 2025.02.15
RESTful API?  (0) 2025.02.15
OOP의 5가지 설계 원칙  (0) 2025.02.15