2025-08-05 05:22
Status:
Tags:소프트웨어 공학
API(Application Programming Interface)
- 소프트웨어간 상호작용 가능하게 하는 계약 이자 접점
- 프로그램 간 요청과 응답 주고받는 인터페이스
- 내부 로직 숨기고 필요한 기능만 노출 (두 번째 의미 캡슐화(Encapsulation))
- 기능을 계약 형태로 문서화 한 것이 API 사양 (API specification)
유형 | 특징 | 주요 사례 |
---|---|---|
REST | 무상태(stateless), 리소스 기반, HTTP 메서드 활용 | JSON/HTTP, HATEOAS[^5] |
SOAP | XML 기반 메시징, 프로토콜 독립적 | 기업 통합 환경 |
RPC | 원격 프로시저 호출, 함수 형태 요청 | gRPC, JSON-RPC, XML-RPC |
GraphQL | 클라이언트가 데이터 스키마 정의 | 다양한 데이터 소스 통합 |