API(Application Programming Interface)
- API는 Application Programming Interface의 줄임말이다. 각 단어의 뜻을 이해한다면 어렵지 않게 뜻을 유추할 수 있다. 앱을 개발하는 프로그래밍 인터페이스라는 것이다. 다만 인터페이스라는 것 자체의 뜻이
어쨌든 인터페이스
- Interface(이하 인터페이스)는 서로 다른 시스템 사이의 경계나 접촉면을 뜻한다.
- 이 경계면에 대한 가장 쉬운 예시로 운전석을 들 수 있다. 운전자는 어떻게 보면 Driving Interface를 통해 차를 운전한다. 엔진의 분당 회전수를 간단히 계기판을 통해 확인할 수 있고, 기어를 레버나 버튼 클릭을 통해 조작할 수 있다. 따라서 운전석에 다양한 요소들은 기계장치와 사람 사이의 인터페이스라고 볼 수 있다.
- 이러한 것들이 존재하지 않는다면 어떨까. 운전을 하는 사람은 기어를 바꾸기 위해 직접적으로 특정한 기어를 변동해야하고, 브레이크를 걸기 위해서 휠을 직접 제어해야할 것이다.
- 그러나 실제로는 간단히 브레이크 페달이 브레이크 장치와 운전자 사이의 인터페이스 역할을 하며, 페달을 밟는 강도를 통해 차체에 브레이크를 걸 수 있다.
응용 프로그램의 인터페이스
- API는 응용 프로그램 사이의 경계나 접촉을 의미한다. 앞선 예시를 통해 이해해보자. 우리는 특정한 응용 프로그램 지원하는 API만을 조작하여 해당 프로그램이 원하는 방식으로 동작하게끔 할 수 있다.
System.out.println("console printed!!");
- 일례로 Java 언어에서 위와 같이 System Console의 출력을 Java가 제공하는 API 형태의 코드를 작성하여 손쉽게 구현할 수 있다. System 객체가 무엇을 하는 것인지 세부적인 내용은 개발자가 알지 못하지만, API가 제공하는 메서드를 활용하면 시스템 콘솔에 작성한 메세지가 출력될 것이라고 기대한다. 운전대의 페달과 기어와 굉장히 유사하지 않은가?
Back-end에서 사용되는 API 서버의 의미
- API는 Web Back-end에서는 보통 API 서버를 지칭한다. 이 때 언급되는 API는 보통 HTTP API라고 볼 수 있다. HTTP를 통해서 서버 애플리케이션에 대한 조작 방식을 제공하는 것이다. 이 때에 서로 접촉하는 대상은 Back-end 애플리케이션과 Front-end 애플리케이션이 될 것이다.