높은 응집도 (High Cohesion),
낮은 결합도 (Low Coupling).

응집도란 '하나의 클래스가 하나의 기능을 담당하고 있는 정도'를 의미.
응집도가 높을수록 클래스와 프로그램의 구조는 단순해진다.

결합도란 '클래스간의 서로 다른 책임들이 얽혀있는(상호 의존) 정도'를 의미.
결합도가 높을수록 코드를 읽기 어려워진다.
서로 다른 책임이 복잡하게 얽혀있으면 가독성이 떨어지고 유지보수가 곤란하다.
즉, 하나의 클래스(책임) 변경이 얽혀있는 다른 클래스(책임)에 변경을 요구하는 일이 발생할 수 있다.

결합도가 0인 경우는 클래스 간에 아무런 연관 관계가 없다는 의미이다.

프로그램이 작동하기 위해서는 데이터를 주고 받을수 밖에 없다.
그러기 위해서 어느정도의 결합 관계는 필요하다.

+ Recent posts