공부하기

결합도, 응집도

Nin 2021. 1. 15. 11:49

모듈화 : 기능들을 관련 기능들끼리 모아두는 것

Ex)윈도우는 윈도우에 관련된 일만 한다.

 

그치만 어떠한 클래스나 기능이 다른 기능을 전혀 사용하지 않고 만든다는것은

불가능에 가깝다.그렇지만 최소화 해야 한다는 것이다.

여기서 다른 기능들을 많이 사용할수록 결합도가 높아진다고 하고

결합도가 높아질수록 둘을 분리하기가 힘들어진다.

 

응집도는 관련 기능들이 얼마나 잘 모아져 있는지를 뜻한다.

Ex)윈도우에서 창의 크기를 변경하는데 이 기능이 윈도우에 없어서

내가 직접 만들어야 하거나 다른 기능을 가져다 써야한다면 응집도가 낮다라고 표현.

 

어떤 클래스를 만들었으면 그 클래스에서 처리할수 있는 기능을 최대한 많이 만들어서

그 관련 기능을 다른곳에서 만들어야겠다는 생각을 못하게 해야한다.

즉, 결합도는 낮고 응집도는 높다는 말을 뜻한다.