- 모듈화 : 소프트웨어를 각 기능별로 나눈 것
- 목적에 맞는 기능들로 모듈화하여 나누는 것이 좋은 모듈화!
- 모듈 : 모듈화로 나눠진 각각의 기능을 가진 것
- 모듈의 기능은 독립적으로 수행되어야 하고, 다른 모듈과는 연관도가 적어야지 좋은 것
- 응집도는 높게, 결합도는 낮게
- 결합도 : 서로 다른 모듈 간에 연관된 관계, 간단할 일만 주고 받기
- Java에서는 class 간에 결합도가 높다 = 연관도가 높다 로 판단. 해당 class를 변경하면 연관된 class도 변경하기. 변경하지 않으면 다른 class에서도 재사용하기 힘듬
- 응집도 : 한 모듈 내부 안 처리 요소들 간에 관계, 응집도가 낮으면 재사용과 이해가 힘듬