1. 스프링 이야기에 왜 객체 지향 이야기가 나오는가?
• 스프링은 다음 기술로 다형성 + OCP, DIP를 가능하게 지원
- DI(Dependency Injection) : 의존관계, 의존성 주입
- DI 컨테이너 제공
• 클라이언트 코드의 변경 없이 기능 확장
- 쉽게 부품을 교체하듯이 개발
2. 스프링이 없던 시절로
• 옛날 어떤 개발자가 좋은 객체 지향 개발을 하려고 OCP, DIP 원칙을 지키면서 개발해보니, 너무 할일이 많았다.
배보다 배꼽이 크다. 그래서 프레임워크로 만들어버림
• 순수하게 자바로 OCP, DIP 원칙들을 지키면서 개발을 해보면, 결국 스프링 프레임워크를 만들게 된다. (더 정확히는 DI 컨테이너)
• DI 개념은 코드로 짜봐야 필요성을 알게된다!
-> 스프링이 왜 만들어졌는지 코드로 이해해본다.
3. 정리
• 모든 설계에 역할과 구현을 분리
ex) 자동차, 공연
• 애플리케이션 설계도 공연 설계 하듯이 배역만 만들어두고, 배우는 언제든지 유연하게 변경할 수 있도록 만드는 것이 좋은 객체 지향 설계
• 이상적으로는 모든 설계에 인터페이스 부여
구현기술이 아직 정해지지 않거나 바뀌더라도, 나머지를 변경할 필요없이 유연하게 개발 가능
실무 고민)
• 인터페이스 도입시, 추상화 비용 발생
성능적 문제가 아닌, 개발자가 인터페이스와 구현체 코드를 열어봐야 한다.
• 기능 확장 가능성이 없다면, 구현체를 직접 사용한다.
향후 꼭 필요할 때 리팩토링하여, 인터페이스를 도입하는 것도 방법
참고링크 : 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?cid=325969
스프링 핵심 원리 - 기본편| 김영한 - 인프런 강의
현재 평점 5.0점 수강생 49,482명인 강의를 만나보세요. 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 스프링 기본 기능, 스프
www.inflearn.com
'강의 실습 > 스프링 핵심 원리 - 기본편' 카테고리의 다른 글
| 비즈니스 요구사항과 설계 (0) | 2026.03.27 |
|---|---|
| 프로젝트 생성 (0) | 2026.03.27 |
| 좋은 객체 지향 설계의 5가지 원칙(SOLID) (0) | 2026.03.25 |
| 좋은 객체 지향 프로그래밍이란? (0) | 2026.03.24 |
| 스프링이란? (0) | 2026.03.23 |
댓글