렴소네 블로그

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

Java

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

렴소 2017. 2. 2. 11:59


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



SRP(The Single Responsibility Principle) : 단일 책임 원칙
-> 모든 객체는 하나의 책임만을 가지며 객체가 제공하는 모든 서비스는 그 하나의 책임을 수행하는데
   집중되어 있어야 한다. 즉 어떤 클래스를 변경해야하는 이유는 오직 하나뿐이어야 한다.

OCP(The Open-Closed Principle) : 개방-폐쇄의 원칙
-> 클래스, 모듈, 함수 등등 소프트웨어 엔티티는 확장에는 열려있고 수정에는 닫혀있어야 한다.
   변경이 필요한 경우 기존 코드를 변경하지 않으면서 상속과 확장을 통해 변경 가능하게 설계한다.

LSP(The Liskov Substitution Principle) : 리스코프 치환 원칙
->자식 타입은 언제나 부모 타입들이 사용되는 곳에 교체할 수 있어야 한다.

ISP(The Interface Segregation Principle) : 인터페이스 분리 원칙
->자신이 사용하지 않은 메소드에 의존관계를 맺지 말것
  어떤 객체의 사용자에게 그 사용자한테 필요한 메소드만 있는 인터페이스를 제공하라.

DIP(The Dependency Inversion Principle) : 의존관계 역전 원칙
->고차원 모듈은 저차원 모듈에 의존하면 안된다. 추상화된 것은 구체적인 것에 의존하면 안된다.
  고차원 모듈이든 저차원 모듈이든 최대한 추상화된 것에 의존하게 설계하고 구체적인 클래스에 의존하게 설계하지 말 것.


'Java' 카테고리의 다른 글

Java 면접때 자주 하는 질문들 정리...옛날꺼  (0) 2019.01.08
java의 괄호들  (1) 2017.02.28
Spring Framework 기본 개념 정리  (0) 2017.02.02
Lombok  (0) 2017.01.26