개발바닥

SOLID 원칙 본문

개인 공부/자바 디자인 패턴

SOLID 원칙

라이언 2019. 1. 30. 12:28
반응형

SOLID 원칙


1. SRP (Single Responsibility Principle) 단일 책임 원칙

하나의 책임만 가져야 한다. 여기서 책임이란 객체가 "해야 하는 것"이나 "할 수 있는 것"으로 간주할 수 있다.

즉 하나의 클래스에 여러 개에 책임을 가지고 있다면 책임을 분리해주어야 한다.


2. OCP ( Open-Closed Principle) 개방-폐쇄 원칙

기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다.

클래스를 변경하지 않고도 대상 클래스의 환경을 변경할 수 있는 설계가 되어야 한다는 것이다.


3. LSP (Liskov Subsitution Principle) 리스코프 치환 원칙

일반화 관계에 대한 이야기며 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다는 뜻이다.

즉, 부모 클래스와 자식 클래스 사이의 행위가 일관성이 있어야 한다는 의미다.

LSP를 만족시키는 간단한 방법은 재정의(오버라이딩)하지 않는 것이다.


(복습할겸  오버로딩 : 같은 이름의 메소드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술

오버라이딩 : 상위 클래스가 가지고 있는 메소드를 하위 클래스가 재정의 해서 사용한다.)


4. DIP (Dependency Inversion Principle) 의존 역전 원칙

의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 원칙이다.

변화하기 쉬운 것이나 자주 변화하는 것에 의존하게 되면 같이 계속 변경을 해야되기 때문에 변하지 않는 것에 의존해야 된다.


5. ISP (Interface Segregation Principle) 인터페이스 분리 원칙

인터페이스를 클라이언트에 특화되도록 분리시키라는 설계 원칙이라고 할 수 있다.


반응형

'개인 공부 > 자바 디자인 패턴' 카테고리의 다른 글

싱글턴 패턴  (0) 2019.03.17
스트래티지 패턴  (0) 2019.02.10
디자인 패턴  (0) 2019.02.01
자바 추상화  (1) 2019.01.30
모델링  (0) 2019.01.30
Comments