- 모듈화하여 만들어진 어떤 기능을 제어/제공 하는 인터페이스 ( 어떤 특정 기능만을 제공하는데 중점 )
- 공개적으로 인터페이스에 접근한 사람들 모두 이용 가능하지만 해당 기능을 구현하는데 사용된 코드는 숨겨져 있음
- 우리가 사용하는 대부분의 애플리케이션은 API에 의존하고 있음
- 소프트웨어 개발 도구 모음
- 어떤 소프트웨어를 만들기 위한 도구 모음으로 API도 포함되어 있음
- 디버거, 프레임워크 등 특정 플랫폼을 위한 빌딩툴 또는 특정 OS 의 코드 라이브러리 그룹같은 개발도구의 집합
- API, IDE, 문서, 라이브러리, 코드 샘플 및 기타 유틸리티가 포함될 수 있음
- SDK는 프로그램 및 응용 프로그램 개발의 복잡성을 줄이는 강력한 기능 집합
- API : 결과를 받아오기 위해 어떤 작업을 수행해야 하는지 알려줄 뿐 받아온 이후의 처리는 개발자의 몫
- SDK : 소프트웨어 개발을 위한 실제 코드까지 존재
- SDK가 API를 포함할 수 있다는 점에서 더 큰 범위
| API | SDK | |
|---|---|---|
| 목적 | 소프트웨어 연결 및 통합 | 다양한 개발 도구 포함 |
| 형질 | 가볍고 빠르며 전문화되어있음 | 더 견고함, 많은 유틸리티 포함 |
| 사용사례 | 애플리케이션에 특정 기능을 추가하는데 사용 | 새로운 어플리케이션을 생성하거나 하나의 패키지로 많은 기능을 추가하는 데 사용됨 |
22-07-14