프레임워크
- 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것
- 개발할 때 설계 기본이 되는 뼈대, 개발자들이 개발을 하기 위한 업무를 추상적으로 만들어 놓은 틀이기 때문에 자신이 필요한 기능만 구현해서 사용하면 된다.
라이브러리
- 자주 사용되는 로직을 재사용하기 편리하도록 잘 정리한 일련의 코드들의 집합
프레임워크 VS 라이브러리
프레임워크 : 전체적인 흐름을 자체적으로 제어
라이브러리 : 사용자가 흐름에 대한 제어를 하며 필요한 상황에 가져다가 쓸 수 있음
자동차를 예시로 들때
프레임워크는 기본적으로 구성하고 있는 뼈대, 라이브러리는 자동차의 기능을 하는 부품