본문 바로가기

Spring Study

[스프링 입문] -코드로 배우는 스프링 부트 # 2

Spring을 사용하는 이유 , 객체지향 설계가 좋은 이유 

-> 다형성을 활용 ( 인터페이스를 두고 구현체를 바꿔끼기 가능)

-> Spring은  컨테이너가 다형성을 지원해주기 때문에 매우 편리함 ! 

-> 기존의 코드는 수정하지 않고, 어플리케이션을 설정하는 코드(어셈블리)만 수정하면 됨 !

 

 

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

-> 객체지향 설계에서 지켜져야 할 5개의 소프트웨어 개발 원칙

-> 코드의 유지보수성과 확장성을 높이는 데 도움을 준다.

 

  1. 단일 책임 원칙 (Single Responsibility Principle, SRP)
    • 한 클래스는 하나의 책임만 가져야 합니다.
  2. 개방-폐쇄 원칙 (Open/Closed Principle, OCP)
    • 소프트웨어 요소는 확장에는 열려있고, 기존 코드의 수정, 변경에는 닫혀 있어야 합니다. 
    • 스프링의 DI (Dependencies Injection)을 사용하면 기존 코드를 전혀 손대지 않고, 설정만으로 구현 클 래스를 변경할 수 있다.

  3. 리스코프 치환 원칙 (Liskov Substitution Principle, LSP)
    • 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 합니다. (하위 타입 객체는 상위 타입 객체에서 가능한 행위를 수행할 수 있어야 합니다. 
  4. 인터페이스 분리 원칙 (Interface Segregation Principle, ISP)
    • 클라이언트는 자신이 사용하는 메소드에만 의지해야 합니다. 여러 개의 구체적인 인터페이스로 나눠야 하며, 이를 통해 불필요한 종속성을 줄일 수 있습니다. 
  5. 의존성 역전 원칙 (Dependency Inversion Principle, DIP)
    • 구체화에 의존해서는 안 되며, 둘 다 추상화에 의존해야 합니다. 즉, 구현 클래스에 의존하지 말고, 추상적인 인터페이스에  의존함으로써 유연성과 재사용성을 높일 수 있습니다. 
  1.  

 

 

[ 참고자료 ] 

https://velog.io/@pp8817/SOLID-%EC%A2%8B%EC%9D%80-%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%EC%84%A4%EA%B3%84%EC%9D%98-5%EA%B0%80%EC%A7%80-%EC%9B%90%EC%B9%99

 

✏️ SOLID, 좋은 객체지향 설계의 5가지 원칙

SOLID라는 좋은 객체지향의 설계의 5가지 원칙이 존재한다. SOLID는 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존 역전 원칙)의 앞글자를 따

velog.io

 

https://inpa.tistory.com/entry/OOP-%F0%9F%92%A0-%EA%B0%9D%EC%B2%B4-%EC%A7%80%ED%96%A5-%EC%84%A4%EA%B3%84%EC%9D%98-5%EA%B0%80%EC%A7%80-%EC%9B%90%EC%B9%99-SOLID

 

💠 객체 지향 설계의 5가지 원칙 - S.O.L.I.D

객체 지향 설계의 5원칙 S.O.L.I.D 모든 코드에서 LSP를 지키기에는 어려움. 리스코프 치환 원칙에 따르면 자식 클래스의 인스턴스가 부모 클래스의 인스턴스를 대신하더라도 의도에 맞게 작동되어

inpa.tistory.com