In object-oriented design, what outcome is achieved by high cohesion and low coupling?

Prepare for the Object-Oriented Programming Test with flashcards and multiple choice questions. Each question comes with hints and explanations to enhance understanding. Master OOP concepts and succeed in your exam!

Multiple Choice

In object-oriented design, what outcome is achieved by high cohesion and low coupling?

Explanation:
High cohesion and low coupling make software easier to maintain and test. Cohesion means a class or module has a clear, single purpose and all of its parts contribute to that purpose. When a component is cohesive, it’s simpler to understand, reuse, and modify because every piece has a related responsibility. Low coupling means modules depend on each other as little as possible, typically interacting through clean, stable interfaces rather than concrete implementations. This minimizes the risk that a change in one part will ripple through unrelated parts. Together, these characteristics reduce the impact of changes, enable testing of components in isolation, and make the codebase more adaptable over time. Those benefits map directly to maintainability and testability. The other options aren’t guaranteed outcomes of high cohesion and low coupling: runtime performance and memory usage aren’t dictated by these design goals, and longer development time is not a necessary result—the upfront design effort can even reduce overall time by avoiding later refactors.

High cohesion and low coupling make software easier to maintain and test. Cohesion means a class or module has a clear, single purpose and all of its parts contribute to that purpose. When a component is cohesive, it’s simpler to understand, reuse, and modify because every piece has a related responsibility. Low coupling means modules depend on each other as little as possible, typically interacting through clean, stable interfaces rather than concrete implementations. This minimizes the risk that a change in one part will ripple through unrelated parts.

Together, these characteristics reduce the impact of changes, enable testing of components in isolation, and make the codebase more adaptable over time. Those benefits map directly to maintainability and testability.

The other options aren’t guaranteed outcomes of high cohesion and low coupling: runtime performance and memory usage aren’t dictated by these design goals, and longer development time is not a necessary result—the upfront design effort can even reduce overall time by avoiding later refactors.

Subscribe

Get the latest from Examzify

You can unsubscribe at any time. Read our privacy policy