단일책임원칙과 응집도
191
작성자 없음
작성한 질문수 0
안녕하세요. 강의 잘 듣고 있습니다.
간단한 질문이지만
SOLID에서 말하는 단일책임원칙과 응집도는 같은 의미로 사용된다고 이해해도 될까요?
답변 2
1
안녕하세요.
응집도(Cohesion)는 변경이 발생했을 때 클래스(또는 모듈)이 함께 변경되는 정도를 의미하고 단일 책임은 원칙(Single Responsibility Principle)은 클래스의 응집도를 높이기 위해서는 클래스(또는 모듈)이 동일한 이유로 함께 변경되도록 만들어야 한다는 설계 원칙입니다.
답변이 되었는지 모르겠네요. 😃
0
안녕하세요, 인프런 AI 인턴입니다. Tennis님.
단일 책임 원칙(Single Responsibility Principle, SRP)과 응집도는 객체 지향 설계에서 중요한 개념이지만, 동일한 의미로 사용되지는 않습니다.
단일 책임 원칙(SRP): 이 원칙은 각 클래스가 하나의 책임만을 가져야 한다는 것을 의미합니다. 여기서 “책임”이란, 클래스가 변경되어야 할 이유를 의미하며, 클래스가 여러 책임을 가지게 된다면 그만큼 변경될 가능성도 늘어나므로 유지보수 측면에서 불리해집니다.
응집도(Cohesion): 응집도는 클래스나 모듈이 하나의 목적 또는 기능을 얼마나 잘 수행하는지를 나타내는 척도입니다. 높은 응집도를 가진 클래스는 관련된 기능이나 책임이 명확하게 그룹화되어 있으며, 이는 코드의 가독성과 유지보수성을 높이게 됩니다.
두 개념 모두 하나의 책임에 집중한 소프트웨어 설계를 지향하지만, SRP는 클래스의 설계 원칙에 더 가깝고, 응집도는 그 결과로 나타나는 특성으로 볼 수 있습니다. 따라서, 서로 관련은 있지만 같은 의미로 사용되지는 않습니다.
관련하여 더 깊이 있는 이해를 위해 “객체지향 설계 원칙 - 책임 주도 설계란?”에서 강사님이 설명하신 부분을 참고해 보실 것을 추천드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
자료 한번에 다운로드 받을 수 있게 좀 해주세요.
1
65
2
이 강의만 자료가 ppt네요.
1
96
1
DiscountPolicy의 구현체에 관련 질문 드려요!
1
62
2
강의 자료 관련 질문입니다! (2-4. 절차에서 객체로)
1
89
2
도메인 관련 질문이 있습니다!
1
116
2
영화, 상영, 예매 도메인 관계에 대한 질문
1
90
2
[오타제보] 6-4. 캡슐화
2
49
2
리스코프 치환원칙에 대해 질문드립니다!
2
75
2
책임주도 설계 적용에 대한 간단한 질문 남겨드립니다.
1
115
2
객체지향 설계에서 메서드를 설계할 때 궁금한 점이 있습니다.
2
73
2
도메인 모델을 잘 정의하기 위해서 어떻게 해야할까요?
1
114
2
getter 사용에 대한 질문입니다.
1
58
2
6-1. 변경과 설계 마지막 추상화 관련 질문 입니다.
1
62
3
객체 지향 설계 원칙에 대한 질문입니다
1
54
2
[5-1] Screening과 Movie의 의존관계에 대한 궁금증 질문입니다.
1
61
2
2-2. 변경과 의존성 / 데이터 내부 변경 시 setter가 변경의 여파를 흡수하는 방식은 어떤가요?
2
74
2
[5-1] DiscountPolicy의 getDiscountAmount 추상 메서드 관련 질문입니다,
1
59
2
2-4. 절차에서 객체로 / 도메인 구조를 따라 클래스 구조 변경 부분
1
83
2
질문 있습니다!
1
67
2
[강의 자료 오타 제보]
1
69
2
간접 참조에 대한 질문
1
137
2
3-1 강의 질문입니다.
1
111
2
책 두권 다 읽어봐야 할까요?
1
199
2
(질문 글) Movie와 Customer의 위치
1
96
2





