반응형
cohesion 이 무슨 뜻이야
ChatGPT
"응집도(Cohesion)"는 소프트웨어 디자인에서 모듈 또는 클래스의 내부 요소들이 얼마나 밀접하게 관련되어 있는지를 나타내는 개념입니다. 높은 응집도를 가진 모듈은 단일 목적을 가지고 관련된 기능들을 함께 묶어놓은 것이며, 모듈 내의 요소들 간의 의존성이 강합니다. 응집도가 높은 모듈은 코드의 가독성, 유지 보수성, 재사용성을 향상시킬 수 있습니다.
응집도는 일반적으로 다음과 같은 수준으로 분류됩니다:
- 기능적 응집도(Functional Cohesion): 모듈 내의 요소들이 동일한 기능 또는 작업을 수행하도록 구성되어 있습니다. 모듈이 단일 목적을 가지고 관련 기능을 모아둔 경우 이를 기능적 응집도가 높다고 말합니다.
- 순차적 응집도(Sequential Cohesion): 모듈 내의 요소들이 연속적으로 실행되는 작업을 수행하도록 구성되어 있습니다. 예를 들어, 데이터를 읽고 가공하고 저장하는 과정을 담당하는 모듈이 순차적 응집도를 가지고 있다고 할 수 있습니다.
- 통신적 응집도(Communicational Cohesion): 모듈 내의 요소들이 동일한 데이터나 메시지를 주고받는 관련 작업을 수행하도록 구성되어 있습니다. 모듈이 특정 데이터를 공유하거나 메시지를 교환하는 작업을 수행하는 경우 이를 통신적 응집도가 높다고 말합니다.
- 절차적 응집도(Procedural Cohesion): 모듈 내의 요소들이 동일한 절차나 순서에 따라 실행되도록 구성되어 있습니다. 모듈이 단일 절차를 수행하는 작업을 포함하고 있다면 이를 절차적 응집도가 높다고 말합니다.
- 시간적 응집도(Temporal Cohesion): 모듈 내의 요소들이 동일한 시간에 실행되는 작업을 수행하도록 구성되어 있습니다. 예를 들어, 초기화 작업을 담당하는 모듈이 시간적 응집도를 가지고 있다고 할 수 있습니다.
응집도는 소프트웨어 설계의 품질과 관련된 중요한 개념으로, 모듈의 적절한 응집도를 유지하고 향상시키는 것이 좋은 소프트웨어 아키텍처와 유지 보수 가능한 코드를 작성하는 데 도움을 줍니다.
반응형
'개발자가 되는 방법' 카테고리의 다른 글
CSS 가상요소 선택자 (0) | 2023.05.30 |
---|---|
SVG <line> 요소를 이용하여 웹페이지에 세로 선을 그려보자 (2) | 2023.05.30 |
엔드포인트(endpoint) 란? (0) | 2023.05.27 |
DRF 와 React 가 서로 싸운다면 ? (0) | 2023.05.27 |
DRF 와 React 는 휴식시간에 무엇을 할까? (0) | 2023.05.27 |