개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고 코드의 재사용성을 증가 시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형태로 제공되는 것.
제어의 역전 개념이 적용된 기술(작성한 객체나 메서드의 제어를 개발자가 아니라 애플리케이션이나 프레임워크에 위임하는 것)
프레임워크의 특징
장단점
개발 시간을 줄일 수 있음
정형화 되어 있어 일정 수준 이상의 품질을 기대
유지 보수가 쉬움
너무 의존하면 스스로 개발하는 능력이 없어짐
프레임위크를 배워야함.
종류
개발자가 만든 클래스들의 나열, 다른 프로그램들에서 사용할 수 있도록 제공하는 방식.
둘의 차이
라이브러리와 프레임워크의 차이는 제어 흐름에 대한 주도성이 누구에게/ 어디에게 있는가.