본문

[2017.09.06] 03-1. OOP의 5대원칙 - SRP

1. SRP - Single Responsibility Principle

(출처 - https://en.wikipedia.org/wiki/Single_responsibility_principle)


모든 클래스나 모듈은 하나의 책임만 맡는다는 원칙이다.


실습

SRP 원칙 적용 전

SRP 원칙 적용 후


1
2
3
4
5
6
class Car {
    void go() { ... }
    void stop() { ... }
    void checkOil() { ... }
    void drive() { ... }
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
class Car {
    void go() { ... }
    void stop() { ... }
}
 
class Driver {
    void drive() { ... }
}
 
class Mechanic {
    void checkOil() { ... }
}

cs

drive나 checkOil 메소드의 경우는 Car 클래스에서  책임질 기능으로 적합하지 않다.


장점

a. 복잡도 감소 - 각각의 코드의 변경에 따른 영향력의 최소화 될 수 있다. 

b. 의존성 감소 - 모듈 별로 테스트가 가능해 진다.



#SRP #SOLID #JAVA SOLID #JAVA OOP #면접

공유

댓글