<aside> ❓ 한 가지의 책임이란?
SRP에서 이야기하는 책임이란 ‘기능’ 정도로 생각하면 됨
한 클래스가 수행할 수 있는 기능(책임)이 여러개라면 클래스 내부의 함수끼리 강한 결합을 발생할 가능성 높아짐 → 응집도 낮고 결합도 높음 → 객체지향 설계 위반!!
책임을 잘게 쪼개어 분리시킬 필요가 있음 </aside>
중요한 기준은 변경이고, 변경이 있을 때 파급효과가 적으면 단일 책임의 원칙을 잘 따른 것
예시)
class Post {
// 글 제목
getTitle() { ... }
// 글 내용
getDesc() { ... }
// DB에서 글 가져오기
getPost() { ... }
// DB에서 글 삭제하기
deletePost() { ... }
}
class Post {
getTitle() { ... }
getDesc() { ... }
}
class PostRepo {
getPost() { ... }
deletePost() { ... }
}