Digking's cave

응집도 설명과 예시 본문

카테고리 없음

응집도 설명과 예시

디깅 2025. 8. 30. 16:29
728x90

아래 표는 각 응집도의 이름, 설명, 예시를 정리한 것입니다.

응집도 이름응집도 설명응집도 예시
우연적 응집도 관련 없는 기능들이 단순히 한 모듈에 모여있는 가장 낮은 응집도입니다 void randomActions() { printHello(); sendEmail(); addNumbers(); }
논리적 응집도 유사한 분류의 기능이 한 모듈에 분배되지만 직접적인 연관은 없는 상태입니다 void controlDevice(String action) { if(action.equals("turnOn")) { turnOn(); } ...}
절차적 응집도 기능들이 정해진 순서대로 실행되지만 결과가 직접적으로 연결되지 않습니다 void sendLetter() { writeBody(); writeSalutation(); send(); }
순차적 응집도 한 기능의 출력이 다음 기능의 입력으로 바로 이어지는 구조입니다 void readAndProcessFile(String path) { String content = readFile(path); process(content); }
시간적 응집도 특정 시점에 실행되어야 하는 여러 기능이 모여있는 상태입니다 void initializeApp() { setDefaultValues(); connectToDB(); clearTempFiles(); }

 


  1. 우연적 응집도
  • 설명: 관련 없는 기능들이 단순히 한 모듈에 모여 있는 상태입니다.
  • 예시:
 
java
void randomActions() { printHello(); int sum = addNumbers(3, 5); sendEmail(); }
  1. 논리적 응집도
  • 설명: 유사한 분류의 기능이 한 모듈에 있지만 직접적인 연관성은 없습니다.
  • 예시:
 
java
void controlDevice(String action) { if (action.equals("turnOn")) { turnOn(); } else if (action.equals("turnOff")) { turnOff(); } else if (action.equals("restart")) { restart(); } }
  1. 절차적 응집도
  • 설명: 기능들이 정해진 순서대로 실행되지만 결과값이 직접적으로 연결되진 않습니다.
  • 예시:
 
java
void sendLetter() { writeBody(); writeSalutation(); send(); }
  1. 순차적 응집도
  • 설명: 한 기능의 출력이 다음 기능의 입력으로 이어지는 구조입니다.
  • 예시:
 
java
void readAndProcessFile(String path) { String content = readFile(path); process(content); }
  1. 시간적 응집도
  • 설명: 특정 시점에 실행되어야 하는 여러 기능이 한 모듈에 모여 있는 상태입니다.
  • 예시:
 
java
void initializeApp() { setDefaultValues(); connectToDB(); clearTempFiles(); }

 

반응형