작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
86
답변 2
1
안녕하세요.
응집도(Cohesion)는 변경이 발생했을 때 클래스(또는 모듈)이 함께 변경되는 정도를 의미하고 단일 책임은 원칙(Single Responsibility Principle)은 클래스의 응집도를 높이기 위해서는 클래스(또는 모듈)이 동일한 이유로 함께 변경되도록 만들어야 한다는 설계 원칙입니다.
답변이 되었는지 모르겠네요. 😃
0
안녕하세요, 인프런 AI 인턴입니다. Tennis님.
단일 책임 원칙(Single Responsibility Principle, SRP)과 응집도는 객체 지향 설계에서 중요한 개념이지만, 동일한 의미로 사용되지는 않습니다.
단일 책임 원칙(SRP): 이 원칙은 각 클래스가 하나의 책임만을 가져야 한다는 것을 의미합니다. 여기서 “책임”이란, 클래스가 변경되어야 할 이유를 의미하며, 클래스가 여러 책임을 가지게 된다면 그만큼 변경될 가능성도 늘어나므로 유지보수 측면에서 불리해집니다.
응집도(Cohesion): 응집도는 클래스나 모듈이 하나의 목적 또는 기능을 얼마나 잘 수행하는지를 나타내는 척도입니다. 높은 응집도를 가진 클래스는 관련된 기능이나 책임이 명확하게 그룹화되어 있으며, 이는 코드의 가독성과 유지보수성을 높이게 됩니다.
두 개념 모두 하나의 책임에 집중한 소프트웨어 설계를 지향하지만, SRP는 클래스의 설계 원칙에 더 가깝고, 응집도는 그 결과로 나타나는 특성으로 볼 수 있습니다. 따라서, 서로 관련은 있지만 같은 의미로 사용되지는 않습니다.
관련하여 더 깊이 있는 이해를 위해 “객체지향 설계 원칙 - 책임 주도 설계란?”에서 강사님이 설명하신 부분을 참고해 보실 것을 추천드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.