본문 바로가기

용어정리/#SOLID

용어정리-[#SOLID] 2.SRP

[ SRP ]

단일 책임 원칙


2018 - 05 - 29


"어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다." - 로버트 C.마틴


한 개의 클래스에 의존하는 다양한 클래스가 있다고 가정해보자

남자는 피곤할 듯 하다

피곤함의 원인은 역할과 책임이 너무 많이 부여되어 있기 때문이다.

객체지향에서는 이런 것을 나쁜 냄새가 난다고 한다.

예를 들어 여자친구와 헤어졌다고 해 보자

남자는 더 이상 챙길 일 없는 기념일과 대상이 없는 키스하기를 하기 힘들어한다.


거기에 더해 여자친구 없는 스트레스를 온 세상에 뿌리고 다니니

어머니, 직장상사, 소대장님까지 피곤한 지경에 이르게 되고야 만다. 

따라서 이런 경우에 역할( 책임 ) 을 분리하라는 것이 단일 책임 원칙이다.



각 관계는 서로간의 관계에 어떠한 영향을 받지 않는다.

얼마나 향기 나는 역할과 책임의 분리인가.


이 원칙은 속성, 메서드, 패키지, 모듈, 컴포넌트, 프레임워크 등에서도 적용할 수 있는 개념이다.



출처

스프링 입문을 위한 자바 객체 지향의 원리와 이해

김종민 지음


'용어정리 > #SOLID' 카테고리의 다른 글

용어정리-[#SOLID] 6.DIP  (0) 2018.06.01
용어정리-[#SOLID] 5.ISP  (0) 2018.06.01
용어정리-[#SOLID] 4.LSP  (0) 2018.05.31
용어정리-[#SOLID] 3.OCP  (0) 2018.05.31
용어정리-[#SOLID] 2.SRP  (0) 2018.05.29
용어정리-[#SOLID] 1.SOLID  (0) 2018.05.29