옛날 자바에서는 EJB 썼는데 짜증나서 오픈소스 개념으로 스프링 만든거다! - wow
스프링은 객체 지향 언어의 장점을 특화 시켜주는 프레임 워크! 좋은 객체 지향 애플리케이션을 개발해주게끔! → 다형성을 편리하게 사용할 수 있게끔!
좋은 객체 지향 설계를 하기 위해 SOLID를 지키자! SOLID 란?
SRP(Single responsibility response, 단일 책임 원칙)
한 클래스는 하나의 책임만 가져야한다. 변경 시 하나의 클래스는 하나만 고치게끔. UI변경은 UI만, 회원가입은 회원가입만.
OCP(Open/Closed principle, 개방 폐쇄 원칙)
확장에는 열려있으나 변경에는 닫혀 있어야 한다. → 인터페이스를 구현하며 확장해야한다!
LSP(Liskov Substition priciple, 리스코프 치환 원칙)
프로그램 객체는 프로그램의 정확성을 깨뜨리지 않아야함. 느리던 빠르던 목적이 앞으로 가는 프로그램이라면 그 목적에 맞는 객체의 구성이여야 함.
ISP(Interface segregation principle, 인터페이스 분리 원칙)
인터페이스 여러개가 낫다
DIP(Dependency inversion principle, 의존관계 역전 원칙) → 중요!