2023. 5. 16. 17:42ㆍTrip to CS
API는 게임 회사를 다니면서 정말 많이 들었다. 그럼에도 이해하기가 너무 어려웠다. 찾아봐도 뭔가 뜬구름 잡는 소리만 하는 것 같고 잘 이해를 하지 못했다. 이번에 모딥다 스터디를 하면서 REST API를 맡아 발표를 하게되었고 공부하던 중에 API에 대해 자세하게 파고 들었다.
이를 통해서 내가 정의한 API는 코드로 된 가상의 버튼이다.
이 것 이상으로 더 정확히 나를 이해시키는 말은 없는 것 같다. 뭔가 필요한 데이터가 있다면 코드로 된, API라고 이름이 붙어 버튼을 작성하면 된다. 물론 어법상 말이 안되는 말이지만 코드를 적는 행위를 버튼을 누른다고 생각하면 된다. 나는 REST API를 이해하기 위해서 먼저 API를 이해하고 API를 이해하기 위해서 Interface를 이해하려고 노력했다. 이유는 결국 API는 Application Programming Interface로 Interface이기 때문이다.
그럼 먼저 Interface는 무엇일까? 인터페이스는 결국 또 버튼이다. 보통 인터페이스를 자판기를 통해서 이해하곤한다. 자판기의 인터페이스는 무엇인가? 버튼이다. 원하는 음료수를 뽑기 위해서 우리는 버튼을 누른다. 또, 함수에 비유하곤 하는데 사람과 자판기 사이에 소통을 위해서는 버튼이 있어야하는데 바로 버튼 역할을 하는 모든 것이 인터페이스이다. 결국 API는 인터페이스라 결국 버튼인데 특정한 분야의 인터페이스인 것이다. 그 답은 용어에서 찾을 수 있다.
API는 Application Programming Interface로 프로그래밍 세계에서 쓰는 버튼이다. 큰 차이점은 이전 자판기 예시에서 사람과 자판기가 사이가 아닌 프로그램들 사이에서의 인터페이스라는 점이다. 물론 그 코드를 사람이 치긴하지 말이다. 예를 들어, 한 프로그램이 날씨 데이터가 필요하다면 날씨 데이터를 담은 프로그램을 찾을 것이고 날씨 프로그램 개발자들은 사용자들의 편의를 위해서 마치 자판기처럼 여러가지 버튼을 만들어 두었을 것이다. 물론 이 버튼들이 API로 코드로 되어있다. A 코드를 입력하면 현재 위치에 따른 날씨 정보가 나오고 B 코드를 입력하면 도시에 따른 날씨 정보가 나오는 것이다. 마치 우리가 음료수를 선택하고 그 음료수에 해당 버튼을 누르는 것처럼 말이다. 프로그램 세계에서 API는 음료수 대신 데이터를 준다는 것 역시 차이점이다.
그동안 API를 이해하지 못한 것이 마음의 짐이었는데 이번 기회를 통해서 마음의 짐을 덜었다.
'Trip to CS' 카테고리의 다른 글
cmd 관련 토막 상식 (0) | 2023.01.16 |
---|---|
컴퓨팅 사고 (0) | 2023.01.12 |