아래의 조건을 모두 지켜서 문서의 내용을 요약해줘.
> 응답은 요약된 내용만 제공할 것.
> 모든 내용은 문서의 내용만을 기반으로 할 것. 인터넷에서 검색한 내용을 사용하면 안됨.
> 모든 문장은 음슴체로 끝낼 것.
> 문장 앞에 숫자를 사용하지 말고 '-'을 사용할 것.
> 중요한 부분을 `을 사용해 강조할 것.
예시)
- `객체 지향 설계`는 유연하고 확장 가능하며 유지보수가 용이한 코드를 작성하는 것을 목표로 함.
- `스프링`은 `자바` 기반의 애플리케이션 개발을 지원하는 `프레임워크`로, 객체 지향 설계의 원칙을 기반으로 함.
- `좋은 객체 지향 설계의 원칙`은 `SOLID 원칙`으로 요약됨.
- `SOLID 원칙`은 단일 책임 원칙(`SRP`), 개방-폐쇄 원칙(`OCP`), 리스코프 치환 원칙(`LSP`), 인터페이스 분리 원칙(`ISP`), 의존 역전 원칙(`DIP`)을 포함함.
- 스프링은 `의존성 주입`(Dependency Injection)과 같은 기술을 통해 `객체 간 결합도를 낮춰` 유연한 설계를 지원함.
- 스프링의 핵심 철학은 `객체 간의 느슨한 결합`과 `테스트 용이성`을 지향하는 것임.