프로젝트/스프링입문 - 인프런

SOLID - 객체지향의 5가지 원칙

SeoburiFaust 2022. 11. 12. 21:58

S : SRP(Single responsibility principle)

- 단일 책임 원칙 : 한 클래스는 하나의 책임만 가져야 한다.

O : OCP(Open/closed principle)

- 개방/폐쇄 원칙 : 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.

L : LSP(LisKov substitution principle)

- 리스코프 치환 원칙 : 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다.

I : ISP(Interface segregation principle)

- 인터페이스 분리 원칙

D : DIP(Dependency inversion principle)

- 의존관계 역전 원칙 : 프로그래머는 추상화에 의존에야지 구체화에 의존하면 안된다. (의존성 주입은 이 원칙을 따르는 방법 중 하나이다.)

 

객체지향을 위해 다형성을 지키면서 코딩을 해야한다.

다형성(polymorphism)이란 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다.

다형성을 활용해 클라이언트를 변경하지 않고 서버 구현 기능을 유연하게 바꿀 수 있다.

 

쉽게 생각하면 역할과 구현을 분리하는 것.

더 쉽게 말하면 모든 설계에 인터페이스를 구현하는 것.

이것이 객체지향설계이다.

 

참고 링크: 

https://ko.wikipedia.org/wiki/SOLID_(%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5_%EC%84%A4%EA%B3%84) 

http://www.tcpschool.com/java/java_polymorphism_concept

'프로젝트 > 스프링입문 - 인프런' 카테고리의 다른 글

인프런 - 스프링입문강의  (0) 2022.08.11