1.API의 개념 이해
"API가 대체 뭐야?"
두루뭉술 어렴풋하게만 알고있던 API라는 개념을 질문을 듣고 설명을 해주려니 머리속이 새하얘졌다.
정확히 알고있는 지식이 아닌데 설명하려니 머리에 버그가 나는 것은 당연한 일이다.
그렇게 가장 먼저 든 생각은 '어째서 이걸 아직까지 공부하지 않았지?' 였다. 그래서 오늘 곰곰히 생각해봤다.
물론 하루만에 완벽히 이해할 수는 없겠지만, 적어도 오늘 이해한 바에 대해 다시 한 번 머리속에서 정리하기 위해 글을 써놓기로 했다.
응용 프로그램 인터페이스(Application Programming Interface)의 줄임말로, 소프트웨어 시스템간에 상호 작용을 가능하게 하는 규칙이나 인터페이스. 즉, 서로 다흔 소프트웨어 시스템이 데이터를 교환하거나 기능을 호출할 수 있도록 정의된 방법과 규칙이다.
구체적인 의미
- 인터페이스
API는 두 시스템이 서로 소통할 수 있는 인터페이스를 제공한다. 어떻게 요청을 보내고, 어떻게 응답을 받을지에 대한 규칙을 정의한다.
- 메서드
API는 특정 기능이나 서비스를 제공하는 방법을 정의한다.
- 규칙과 계약
API는 어떤 형식으로 요청하고, 어떤 형식으로 응답할 지 명확한 규칙과 계약을 정의한다. 이를 클라이언트측에서 맞춰야 한다.쉬운 비유를 해보자면 자판기로 예시를 들 수 있다.
인터페이스 - 자판기의 버튼에 해당하며, 이는 사용자로 하여금 어떤 음료를 선택할지에 대한 방법(버튼)을 제공한다.메서드 - "버튼을 누르면 음료를 제공하는 동작"에 해당하며, 그 자체가 하나의 메서드라고 할 수 있다.
규칙과 계약 - 자판기는 "어떤 버튼을 누르면 어떤 음료가 나오는지"에 대한 규칙을 제공한다. 그렇기에 사용자는 이 규칙에 따라 원하는 음료에 해당하는 버튼을 누르고, 이에 따라 자판기는 규칙에 해당하는 음료를 제공한다.