개발자's Life

[JAVA] 좋은 객체지향 설계의 5가지 원칙 SOLID 본문

Back-end/Java

[JAVA] 좋은 객체지향 설계의 5가지 원칙 SOLID

Rowen Jobs 2023. 5. 29. 17:09
728x90
반응형

SOLID 관련하여 위키백과와 강의를 듣고 정리하겠습니다. 

<memo>

 

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

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

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

ex) 자동차 액셀을 밟으면 앞으로 나가야 하는 기능이 뒤로 가게 되더라도 프로그램 상 이슈는 아니지만 정확성이 깨지는 이슈이다.(김영한 강사님 이야기 참조)

I  : ISP 인테페이스 분리 원칙 -> 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.

D : DIP 의존관계 역전 원칙 -> 프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안된다.  클라이언트 코드가 변경이 되면 안된다. 원칙을 지키면 추후 변경에 용이하다.

 

SOLID 원칙을 지켜 객체지향을 설계하게 되면 관리가 용이하고 추후 변경되는 부분이 발생하더라도 코드의 변경이 거의 없다.

 

 

</memo>

 

틀린부분 및 보완해야할 내용 있으시면 댓글로 부탁드립니다!!

728x90
Comments