자라나라 개발머리

[Spring/스프링 핵심 원리] 객체 지향 설계와 스프링,SOLID 본문

프레임워크/Spring

[Spring/스프링 핵심 원리] 객체 지향 설계와 스프링,SOLID

iammindy 2023. 1. 2. 19:38

* 인프런 '스프링 핵심 원리' 강좌 복습 게시글 입니다.

 

스프링을 만든 이유

좋은 객체 지향 애플리케이션을 개발 하기 위해

 

좋은 객체 지향 프로그래밍이란?

유연하고 변경이 용이해야함 > 자바의 다형성!

 

다형성이란?

역할과 구현으로 분리해서 개발하는 것. 

 

 

즉, 스프링은 다형성을 극대화하여 이용할 수 있게 도와준다.

( 다형성을 지키며 *SOLIDOCP,DIP를 지키면서 프로그래밍 할 수 있게 해준다.)

 

 

 

* 좋은 객체 지향 설계의 5가지 원칙 (SOLID)

1. SRP(Single Responsibility Principle, 단일 책임 원칙): 한 클래스는 하나의 책임만 가져야 한다.

2. OCP(Open/Cloesd Principle, 개방-폐쇄 원칙): 확장에는 열려있으나 변경에는 닫혀 있어야 한다.

3. LSP(Liskov Substitution Principle, 리스코프 치환 원칙): 하위 클래스는 인터페이스 규약을 다 지켜야 한다.

4. ISP(Interface Segregation Principle, 인터페이스 분리 원칙): 범용 인터페이스 하나보다 인터페이스 여러개가 낫다.

5. DIP(Dependency Inversion Principle, 의존관계 역전 원칙): 구체화말고 추상화에 의존해야 한다.