앱플리케이션 프로그래밍 인터페이스를
추상적으로 앱 간에 소통을 위한 인터페이스라고 하자나?
인터페이스라고 해서 서버와 클라 사이에 뭔 장치인가?
하는 넘 있을 거임.

이해한다 api가 뭐냐고 물어보면 100에 99는 api로 할 수 있는 일이 뭔지 설명하지.

근데 api는 그냥 개념이야. 뭔가 물질적인게 없다고.
api는 "클라와 서버의 통신" 정도로 생각하면 됨.
그중에도 클라의 요청에 서버가 응답을 하는 아주 좁고 표준적인 범위의 개념임.

물론 api가 네트워크 범위의 개념만 있는게 아님.
응용 앱과 os 앱의 티키타카도 api임.

티키타카는 의사소통의 은어지.
티키타카 == 의사소통 == api로 비유가 가능함.

다만 네트워크에서 api는 아주 좁은 의사소통 방식이지.

다른 비유를 하나 더 들어보자.
너가 노트북을 쓴다 치자. 프로그램을 쓰고 싶어
그럼 그 상황에서 "노트북과 상호작용을 가능하게 하는 것" 이 api야.
키보드 마우스 모니터 vr머신 손가락 감지 센서..
이런건 라이브러리 같은 거야

api가 라이브러리로 만들어진거지.

너가 염력으로 cpu에 전류를 넣어서 조작이 가능하면. 그것 또한 api야

시발 이건 무스비 같은 거라고.

근데 왜 표준 적이고 좁은 범위라고 했을까.
이유 의사소통의 방법은 많거든.

예로 니가 해커야. 최신 버전의 프로그램이나 아니면 은행 서버에 남에 돈을 흥청망청 쓰고 싶다 쳐.

그럼 리버스엔지니어링을 조지고 ip를 추적하고 보안을 우회해서 서버 프로그램에 니 코드를 메챠쿠챠 했다고 하면
그게 api라고 하는 세끼는 없을껄.
병신들은 "으이ㅣ잉? 그건 범죈데요ㅗ" ㅇㅈㄹ 하겠지만.
어쨌든 넌 프로그램끼리 의사 소통을 하게 한거임.

유튭에 트럭에 핸들에 비유하는 넘도 많던데.

걍 ㅈ또 아닌 개념에 프로그램과 프로그램만 바꿔서 단어로 만든게 api임.


- dc official App