렴소네 블로그
객체지향 설계의 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 |