학습목표 : SRP[Single responsibility principle] 단일 책임 원칙 을 이해하고, 예제로 설명할 수 있다.
SRP[Single responsibility principle] 단일 책임 원칙
- 한 클래스는 하나의 책임만 가져야 한다.
- 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다" - 로버트 C. 마틴
1. 그림 설명
예제) 못된 예제
public class NoSrp남자 {
String myName ="남자";
void 효도하기() {
System.out.println("엄마에게 효도");
}
void 기념일챙기기() {
System.out.println("아내에게 기념일 챙기기");
}
void 용돈주기() {
System.out.println("아이들에게 용돈주기");
}
void 운동하기() {
System.out.println("친구와 운동하기");
}
}
예제) 잘된 예제
public class Srp남자 {
}
class 남자{
String myName ="남자";
}
class Son extends 남자 {
void 효도하기() {
System.out.println("엄마에게 효도");
}
}
class Husband extends 남자{
void 기념일챙기기() {
System.out.println("아내에게 기념일 챙기기");
}
}
class Daddy extends 남자{
void 용돈주기() {
System.out.println("아이들에게 용돈주기");
}
}
class Friend extends 남자{
void 운동하기() {
System.out.println("친구와 운동하기");
}
}
덧붙이는 말.
SOLID 개념은 객체지향 디자인 패턴의 뼈대이고,
스프링 프레임워크의 근간이 된다고 한다.
SRP(단일 책임 원칙)도 Spring 이 지향하는 각 역할별 모듈화와 연관이 있지 않나 생각해본다.
참고도서 : 스프링 입문을 위한 자바 객체 지향의 원리와 이해 (위키북스)
'객체지향 (OOP) > 객체 지향 설계 5원칙' 카테고리의 다른 글
[DIP] 객체지향 설계 5 원칙 (5) (0) | 2021.05.22 |
---|---|
[ISP] 객체지향 설계 5 원칙 (4) (0) | 2021.05.21 |
[LSP] 객체지향 설계 5 원칙 (3) (0) | 2021.05.15 |
[OCP] 객체지향 설계 5 원칙 (2) (0) | 2021.05.14 |
객체지향 설계 5원칙 (0) | 2021.05.13 |