인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

오브젝트 - 기초편

6-1. 변경과 설계

단일책임원칙과 응집도

해결된 질문

작성

·

86

1

안녕하세요. 강의 잘 듣고 있습니다.

 

간단한 질문이지만

 

SOLID에서 말하는 단일책임원칙과 응집도는 같은 의미로 사용된다고 이해해도 될까요?

답변 2

1

조영호님의 프로필 이미지
조영호
지식공유자

안녕하세요.

응집도(Cohesion)는 변경이 발생했을 때 클래스(또는 모듈)이 함께 변경되는 정도를 의미하고 단일 책임은 원칙(Single Responsibility Principle)은 클래스의 응집도를 높이기 위해서는 클래스(또는 모듈)이 동일한 이유로 함께 변경되도록 만들어야 한다는 설계 원칙입니다.

답변이 되었는지 모르겠네요. 😃

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. Tennis님.

단일 책임 원칙(Single Responsibility Principle, SRP)과 응집도는 객체 지향 설계에서 중요한 개념이지만, 동일한 의미로 사용되지는 않습니다.

  • 단일 책임 원칙(SRP): 이 원칙은 각 클래스가 하나의 책임만을 가져야 한다는 것을 의미합니다. 여기서 “책임”이란, 클래스가 변경되어야 할 이유를 의미하며, 클래스가 여러 책임을 가지게 된다면 그만큼 변경될 가능성도 늘어나므로 유지보수 측면에서 불리해집니다.

  • 응집도(Cohesion): 응집도는 클래스나 모듈이 하나의 목적 또는 기능을 얼마나 잘 수행하는지를 나타내는 척도입니다. 높은 응집도를 가진 클래스는 관련된 기능이나 책임이 명확하게 그룹화되어 있으며, 이는 코드의 가독성과 유지보수성을 높이게 됩니다.

두 개념 모두 하나의 책임에 집중한 소프트웨어 설계를 지향하지만, SRP는 클래스의 설계 원칙에 더 가깝고, 응집도는 그 결과로 나타나는 특성으로 볼 수 있습니다. 따라서, 서로 관련은 있지만 같은 의미로 사용되지는 않습니다.

관련하여 더 깊이 있는 이해를 위해 “객체지향 설계 원칙 - 책임 주도 설계란?”에서 강사님이 설명하신 부분을 참고해 보실 것을 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기