SPRING 핵심 원리 [ 기본편 ]

[스프링 핵심 원리] 섹션 1.5 객체 지향 설계와 스프링

wlalsu_u 2023. 1. 18. 19:32

1.5.1  객체지향과 스프링

 

 

 

앞서 섹션 1.4에서, 다형성 만으로는 OCP, DIP 원칙일 지키지 못하는 경우가 생김을 알 수 있었다.

 

따라서, 위의 경우에서도 다형성을 지키기 위해 스프링은 다음 2가지 기술을 제공한다.

 

 

DI (Dependency Injection)

 

: 의존관계, 의존성을 주입한다.

 

 

DI 컨테이너 제공

 

 

위의 스프링 기술을 사용하면, 클라이언트 코드 변경 없이도, 기능을 확장할 수 있게된다.

 

 

 


 

 

1.5.2  객체 지향 설계 정리 

 

 

 

객체 지향의 다형성을 구현하기 위해, 모든 설계에서 역할과 구현을 구분해야 한다.

 

따라서, 모든 설계에 인터페이스를 부여하는 것이 가장 이상적이다.

 

 

 

하지만, 인터페이스를 사용하면 추상화 비용이 발생한다.
따라서, 확장할 가능성이 없으면 구현 클래스를 사용하다가, 필요할 때 인터페이스를 도입하는 것이 좋다.

 

 

 

 

 

 

 

 

 

김영한 '스프링 핵심 원리 - 기본편' 강의를 기반으로 작성하였습니다.

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8