API(Application Programming Interface): 응용프로그램 프로그래밍 인터페이스
API는 응용프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상처리, 문자제어 등을 위한 인터페이스를 제공한다.
즉, 우리가 만든 웹 서비스의 기능들을 제어할 수 있게 해주는 인터페이스를 제공한다고 생각하면 된다.
다시 말해, 어떤 기계간의 장치끼리 정보를 교환하기 위한 수단이나 방법을 의미한다.
우리가 TV 전원 버튼을 누르면 TV가 켜지듯이 사전에 TV와 통신을 하기위해 리모콘은 TV에 정의된 규격에 의해 어떤 신호를 보낼 수 있도록 만들어진 장치이며, 이러한 신호를 서로 주고받기 위한 방법을 인터페이스라고 한다.
예시를 들어 정리를 하면 웹서비스에서 우리가 어떤 UI 버튼을 클릭하였을 때 만들어진 기능이 활성화될 수 있으려면 사전에 약속되어진 루트로 신호가 주고받아져야 한다.
사용자(클라이언트)는 어떤 웹사이트에서 자신의 프로필 조회 버튼을 눌렀을 때 자신의 프로필이 어떻게 불러와지는지 몰라도 된다.
또한 자신의 상세 프로필 조회를 하기 위해 직접 상세페이지를 만들거나 상세페이지 주소를 입력하지도 않아도 된다.
그저 이미 약속되어진 API에 따라 원하는 결과물이 클라이언트 앞에 나타날 것이다. 이게 API의 장점이자 매력이 아닐까 싶다!
<결론>
API는 눈에 보이지 않지만 이러한 신호를 주고받을 수 있게 해주는 중간자(매개체) 역할이라고 보면 될 것 같다!