API (Application Programming Interface) 란?

api 의 개념에 대해서는 컴퓨터 공학을 공부한다면 많은 곳에서 언급되므로, 나름 익숙한 개념일 것이다. API 는 응용 프로그램을 사용할 수 있도록 필요한 기능을 사용할 수 있도록 돕는 인터페이스를 의미한다. 핵심은, "응용프로그램" 의 기능을 다룬다는 것에 있다. 그래서 우리(사용자)에게 직접적으로 눈에 보이며, 더 가깝게 느껴지는 개념이 API이다.

 

ABI (Application Binary Interface) 란?

그렇다면 abi는 뭘까? 바이너리 단계에서 사용되는 abi와 달리, api는 프로그래밍 단계에서 사용이 된다. 개발자가 직접적으로 코딩할 때 가져다쓰거나 사용자가 응용 프로그램을 사용할 때 사용하는 개념이다. 그러나 abi는 더 깊숙히 들어간다. 바로 응용 프로그램과 운영체제의 관계 혹은 응용 프로그램과 라이브러리의 관계, 마지막으로 응용 프로그램과 구성요소 간에서 사용되는 기능을 도와주는 인터페이스를 의미한다. 따라서 이 인터페이스는 사용자가 직접적으로 다루게 될 일은 없다.

+ Recent posts