프로그램들이 서로 상호작용하기 위한 인터페이스를 제공하는 것을 의미
API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 매커니즘이다.
예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어있다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 '대화'하여 휴대폰에 매일 최신 날씨 정보를 표시
한마디로 가장 큰 API 범주의 핵심은 애플리케이션(고유한 기능을 가진 모든 소프트웨어)을 서로 연결하여 서로 통신할 수 있다는 것!
① 기능 제공 : API는 다른 소프트웨어들이 특정 기능을 사용할 수 있도록 인터페이스를 제공한다. 예를 들어, 파일을 읽고쓰는 기능이나 네트워크 통신 기능 등을 API를 통해 제공할 수 있다.
② 표준화 : API는 개발자가 다른 소프트웨어나 서비스를 사용할 때 일관된 방식으로 상호작용할 수 있게 표준화된 인터페이스를 제공한다. 이는 개발 생산성을 높이고, 코드의 재사용성을 증가시키고, 오류를 줄이는데 도움을 준다.
③ 추상화 : API는 기능을 추상화하여 사용자가 내부 동작을 몰라도 쉽게 사용할 수 있도록 도와준다. 이는 복잡한 기능을 단순화하고 개발자가 고수준의 작업에 집중할 수 있도록 한다.
④ 서비스 연결 : API는 서로 다른 시스템이나 서비스 간의 통신을 가능하게 하며, 이는 다양한 기능을 통합하여 더 큰 시스템을 구축할 수 있는 기반을 제공
API는 여러가지 형태로 존재
대표적으로 라이브러리 API와 웹 API가 있다.
- 라이브러리 : 코드의 모음으로, 특정 기능을 구현한 함수나 클래스를 포함
- 라이브러리 API : 라이브러리가 외부에 제공하는 인터페이스로, 라이브러리를 사용하여 특정 기능을 조작하고 제어할 수 있는 방법을 정의
API는 소프트웨어 응용프로그램에서 다른 소프트웨어 구성 요소 또는 서비스와 상호작용 하기 위한 인터페이스를 제공하는 프로그래밍 기술로써, API를 사용하면 다른 소프트웨어 구성 요소와 상호작용 하기 위해 필요한 복잡한 코드 작성을 줄일 수 있으며, 더욱 빠르고 효율적인 소프트웨어 개발을 가능하게 한다. 또한 API는 데이터를 보호하고 보안을 유지하기 위한 방법으로도 사용할 수 있다.