API는 'Application Programming Interface'의 약자로 '응용 프로그램 프로그래밍 인터페이스'라고 할 수 있다.
기본적으로는 두 개의 다른 소프트웨어나 시스템이 서로 통신할 수 있게 만드는 '다리'나 '통로'와 같은 역할을 한다.
API의 인터페이스는 프로그램이나 시스템 간에 어떤 방식으로 데이터를 주고받을 것인지 어떤 기능을 사용할 수 있는지를 정의하는 규격이나 규약을 의미한다.
API는 요청과 응답의 형태로 작동합니다.
예를 들자면 A 애플리케이션이 B 시스템의 기능이나 데이터가 필요할 때 A는 API를 통해 B에 요청을 보낸다.
그리고 B 시스템은 이 요청을 받아들이고 그에 해당하는 응답을 API를 통해 다시 A 애플리케이션에 보내준다.
모듈화
API를 통해 서로 다른 시스템 또는 애플리케이션 간에 명확한 경계를 설정할 수 있다.
재사용성
한 번 개발된 API는 다양한 애플리케이션에서 재사용이 가능하다.
효율성
시스템 간의 통신을 표준화함으로써 개발과 유지보수 과정이 효율적으로 진행될 수 있다.
보안
API를 사용하면 특정 부분만 접근이 가능하므로 전체 시스템의 보안을 강화할 수 있다.
웹 API (RESTful, SOAP)
인터넷을 통해 웹 서비스와 통신할 때 주로 사용되는 API이다.
데이터베이스 API
데이터베이스와 애플리케이션 간의 통신을 위해 사용된다.
운영 체제 API
애플리케이션과 운영 체제 사이에서 명령을 주고받을 때 사용한다.
라이브러리/프레임워크 API
특정 프로그래밍 언어 라이브러리나 프레임워크의 기능을 활용하기 위한 API이다.