[스프링 핵심] 스프링과 객체 지향 프로그래밍
IoC,DI,객체 지향 프로그래밍 SOLID,다형성 polymorphism,컨테이너,SRP,OCP/ DIP,,,, 이런 개념들을 모두 다뤄볼 예정이다. 스프링의 핵심가치는, "객체 지향 프로그래밍"이다옛날에는 EJB라는 기술이 있었다. 이게 표준이었다.그런데 이게, 제공하는 기능은 많은데 한 번 쓰기가 너무 복잡하고 느리고 힘들었다. 소위 "EJB 지옥".EJB에 지친 우리 선배 개발자들은 하나 둘 반기를 들기 시작했고, 차라리 기능이 적더라도 쓰기 간편하고 빠른 걸 만들고 싶다는 열망이 뻗치기 시작했다. 이 흐름의 가장 선봉장은 두명이 있었는데, 그게 오픈소스로 만들어졌고, 결국 각각 Spring과 Hibernate로 발전했다. 이후 JPA가 만들어졌다. 특이하게도 인터페이스 -> 구현체가 아니라, 구..