라이브러리와 프레임워크의 차이점은 코드 제어권이 개발자에게 있는지, 아닌지이다. 라이브러리 소프트웨어를 개발하기 쉽게 기능을 제공하는 도구들이다. 클래스의 집합으로서 코드의 재사용성을 지원한다. (ex: math) 제어의 주체는 개발자로, 코드에서 필요할때마다 라이브러리(객체, 함수)를 직접 호출한다. 현실에서의 도서관에서 책을 필요할때마다 꺼내보는 것과 같다. 어플리케이션에서 하나의 기능이라고 볼 수 있다. 프레임워크 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램이다. 제어의 주체는 프레임워크이다. 프레임워크에서 개발자의 코드를 호출한다.(제어의 역전: Inversion of Control) 프레임워크에서 기본적인 골격을 잡아놓았기 때문에 개발자가 제어의 흐름에 맞게 코드..