① 특정 형태의 소프트웨어 문제를 해결하기 위해, 상호 협력하는 클래스들과 인터페이스의 집합 ② 장점 : 재사용성, 단순성, 역할구분, 확장성, 유지보수 용이 ③ 라이브러리와 프레임워크의 차이 • 라이브러리는 어플리케이션에서 호출할 수 있는 함수와 루틴으로 구성되어 있음 • 프레임워크는 어플리케이션에서 특정 기능들을 제공하기 위해 확장할 수 있는 일반적이고 상호 협력적인 컴포넌트를 제공 Inversion of Control(IoC) container 객체의 생성 시, 그 객체가 참조하고 있는 타 객체에 대한 종속성을 소스코드 내부에서 하드 코딩하는 것이 아닌, 그 소스 코드 외부에서 설정하게 함으로써, 유연성 및 확장성을 향상시킨다. 기본적인..