애플리케이션 프로그래밍 코드를 작성할 때, 항상 내가 짠 코드가 객체지향스러운가에 대한 고민하는 습관을 가져야 한다.
Spring 이란?
- POJO프로그래밍을 지향하는 Framework이다.
POJO 란?
- POJO란 순수한 Java 객체를 의미한다.
- POJO 프로그래밍이란 순수 Java 객체가 다른 기술이나 환경에 종속되지 않도록 하기 위한 프로그래밍 기법이다.
- POJO 프로그래밍을 효과적으로 적용하기 위해서는 특정 기술에 대한 지식보다는 JDK의 API에 대한 지식과 객체지향적인 사고방식과 설계를 위한 훈련이 우선시되어야 한다.
- Spring Framework은 POJO 프로그래밍을 지향하기 위해 IoC/DI, AOP, PSA라는 기술을 제공한다.
DI (Dipendency Injection)
new 키워드를 사용해서 의존 객체를 생성할 때, 클래스들 간에 강하게 결합(Tight Coupling)하기 때문에 의존성 주입을 하더라도 의존성 주입의 혜택을 보기 위해서는 클래스들 간의 강한 결합은 피하는 것이 좋다.
--> 인터페이스 (Interface)를 통해 느슨한 결합 (Loose Coupling) 필요 !