소프트웨어 모듈의 목적

  1. 실행 중에 제대로 동작해야 한다.
  2. 변경을 위해 존재해야 한다. (간단한 작업만으로도 변경이 가능해야 한다. → 모듈 사이의 dependency를 없애자!) → 객체 사이의 의존성이 강하다 → 결합도(coupling)가 높다
  3. 코드를 읽는 사람과 의사소통해야 한다. (readability를 높여야 한다.)

용어 정리