목차 스프링이란? 좋은 객체 지향 프로그래밍이란? 좋은 객체 지향 설계의 다섯가지 원칙(SOLID) 객체 지향 설계와 스프링 1. 스프링이란? 1-1. 스프링 JAVA의 웹 프레임워크로 JAVA 언어를 기반으로 사용 JAVA로 다양한 어플리케이션을 만들기 위한 프로그래밍 틀 스프링의 특징 IoC 컨테이너(IOC를 구현하는 프레임워크)로서 객체를 직접 관리. 객체 생성, 소멸 같은 생명주기 관리, 의존성 관리 IOC(Inversion of Control) 제어권의 역전. 제어권이 스프링 프레임워크에 있음. 개발자가 제어권을 가지지 않음. 객체가 내부적으로 조작할 객체를 직접 생성하는 것이 아니라 외부로부터 주입받는 것. 이때 객체를 외부로부터 주입해주는 작업을 DI라고 함. DI(Dependency Injection) 의존성 주입. 계층이나 서비스 간에 의존성이 존재할 경우 스프링 프레임워크가 서로 연결 AOP