구현 로직의 유무
API : 컴포넌트 자체, 구현 로직 존재
라이브러리 : 컴포넌트 사용하는 규약, 호출을 위한 수단, 구현 로직 없음
응용프로그램의 흐름 주도권을 누가 가지고 있는지 : 누가 누구를 컨트롤 하는가
라이브러리 : 내가 코드를 컨트롤한다. 내가 라이브러리를 부른다.
프레임워크 : 누군가의 규칙을 따라 코딩한다. 프레임워크가 나를 부른다.
응용 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
필요한 부분을 요청하여 응답을 받는 서비스간의 다리와 같은 역할
구현과 독립적으로 사양만 정의 되어있음.
접근권한을 부여받아야함.
말그래도 인터페이스, 안에는 무엇이 들어있는지 알 수 없음.
응용 프로그램 개발을 위해 필요한 기능을 모아 놓은 소프트웨어
응용프로그램이 능동적으로 라이브러리를 사용 : 기능들을 어떻게 사용할지 사용자가 결정
부품이 되는 소프트웨어의 집합
작은 기능들을 함수 단위로 만들어 제공
기능들을 어떻게 사용할지 사용자가 결정
대체가능한 다른것을 찾기 쉬움
응용프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기위해 제공된 소프트웨어 환경
응용프로그램이 수동적으로 프레임워크에 의해 사용된다 : 규칙을 지켜가며 사용하는 것
소프트웨어의 형식제공 : 규직이 정해져있음