인프런 김영한님의 스프링 핵심 원리-기본편 강의 내용을 바탕으로 작성한 글입니다. 이전 포스팅에서 객체 지향 설계를 실현하기 위해서는 다형성을 잘 지켜야 한다는 이야기를 했다. 하지만 객체 지향 설계에 대해 제대로 이해하려면, 다형성 외에도 앞글자를 따서 SOLID라 불리는 객체 지향 설계의 5가지 원칙에 대해 이해해야 한다. SRP: 단일 책임 원칙 (Single Responsibility Principle) 하나의 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 말은 모호하기 때문에, 이 클래스가 책임이 하나인지 여러개인지 헷갈릴 수 있다. 이런 경우, 클래스를 변경했을 때의 파급 효과를 보면 SRP를 잘 지켰는지 확인할 수 있다. 예를 들어, 재료 기반 레시피 검색 서비스에서 재료 클래스를 ..
인프런 김영한님의 스프링 핵심 원리-기본편 강의 내용을 바탕으로 작성한 글입니다. Spring이란? 스프링은 문맥에 따라 여러 가지 의미를 갖는다. 스프링 생태계 전체를 의미하기도 하지만, 스프링 DI 컨테이너나 스프링 프레임워크를 의미하는 경우도 있다. 스프링은 여러가지 기술의 모음으로, Spring Boot, Spring Framework, Spring Data 등으로 구성되어 있다. 공식 홈페이지에 가면 아래 사진보다 더 많은 기술들을 확인할 수 있다. 많은 기술들 사이에서도 대표적인 기술이 있다면, 바로 스프링 프레임워크와 스프링 부트이다. 스프링 프레임워크는 오리지널팩에 해당하는 기술로, 스프링 DI 컨테이너, AOP, JDBC 등 다양한 기능을 지원한다. 스프링 부트는 확장팩이지만 요즘에는 필..