일단 API는 라이브러리, 프레임워크와 비교대상이 아님.
API는 말그대로 인터페이스임.

라이브러리랑 프레임워크를 구분하는 방법은
엔트리 포인트를 누가 가지냐는 거임.

언어에서 정의한, 이를테면 C 에서는 int main(); 이 될텐데, 라이브러리을 사용할 땐 여전히 int main(); 부터 프로그램을 작성할 수 있을 거시셈. 반대로 프레임워크는 엔트리포인트가 프레임워크에 종속되어 버려서 개발자가 int main();에서 시작을 못함. 프레임워크에서 알려주는 다른 엔트리포인트부터 코드 작성을 해야함. MFC나 안드로이드 어플 같은개발 할 때 언어 스펙에서 정의한 엔트리 포인트부터 시작함? 사실 저도 안해봐서 모르는데 아닐거임ㅋ 제가 틀렸으면 댓글점.