API는 개발하다 보면 계속 만나게 되는 핵심 개념입니다.
🔹 API란?
API (Application Programming Interface)👉 프로그램끼리 대화하는 약속(창구)
사람이 버튼 눌러서 앱 쓰는 것처럼,👉 프로그램이 다른 프로그램의 기능을 쓰기 위한 규칙
🍔 비유로 이해하기 (제일 쉬움)API = 식당의 메뉴판 + 주문 창구
손님 👉 내 프로그램
주방 👉 다른 프로그램 / 서버
메뉴판 👉 API
주문 방식 👉 API 규칙
손님은 주방에 직접 들어가지 않고,👉 메뉴판(API)을 보고 주문만 함
🔹 API가 왜 필요할까?
내부 구현을 몰라도 기능 사용 가능
보안 유지 (직접 DB 접근 X)
여러 언어 / 시스템에서 동일하게 사용 가능
유지보수 쉬움
🔹 API의 기본 구성
1️⃣ 요청(Request)
무엇을 원하는지
어떤 데이터인지
2️⃣ 응답(Response)
결과 데이터
성공 / 실패 정보
🌐 웹 API (가장 많이 쓰임)요청 예시
GET /users/1
응답 예시 (JSON)
{
"id": 1,
"name": "Kim",
"age": 30
}
🔹 API 방식 종류
1️⃣ REST API ⭐⭐⭐⭐⭐ (가장 흔함)
HTTP 기반
JSON 사용
URL로 자원 표현
GET /users // 조회
POST /users // 생성
PUT /users/1 // 수정
DELETE /users/1 // 삭제
2️⃣ SOAP API
XML 기반
무겁고 복잡
금융·공공기관에서 가끔 사용
3️⃣ GraphQL
필요한 데이터만 요청
프론트엔드에 유리
러닝커브 있음
🔹 API는 어디서 쓰일까?
모바일 앱 ↔ 서버
웹 프론트엔드 ↔ 백엔드
결제 (카카오페이, 이니시스)
지도 (카카오맵, 구글맵)
로그인 (네이버, 구글 OAuth)
날씨, 환율, 배송 조회 등
🔹 자바에서 API 호출 예시 (감 잡기용)
URL url = new URL("https://api.example.com/data");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
👉 실제로는 RestTemplate, WebClient, OkHttp 같은 걸 더 많이 씀
🔹 API vs 라이브러리 차이
의미 사용 방법(규칙) 실제 구현
예 결제 API jQuery
관계 “이렇게 써라” “이걸 써라”
🔹 한 줄 요약 💡
API는 프로그램이 다른 프로그램의 기능을 안전하고 규칙적으로 쓰게 해주는 통로