문제
소프트웨어 설계에서 **모듈화(Modularization)**의 원리를 바탕으로, 모듈 간의 인터페이스 설계 원칙과 **정보은닉(Information Hiding)**이 결합도와 응집도에 미치는 영향을 분석하고, 이를 통해 달성할 수 있는 소프트웨어 품질 특성을 구체적으로 서술하시오.
정답
인터페이스 설계는 모듈 간 상호작용을 명확히 정의하여 결합도를 낮추고, 정보은닉은 모듈 내부 구현을 캡슐화하여 응집도를 높인다. 잘 정의된 인터페이스는 모듈 간 의존성을 최소화하고, 정보은닉은 모듈 내 요소들이 하나의 책임에 집중하도록 한다. 이를 통해 재사용성, 확장성, 유지보수성, 테스트 용이성 등의 품질 특성을 향상시킬 수 있다.
인터페이스정보은닉결합도응집도모듈화재사용성확장성유지보수성캡슐화의존성
해설
모듈화의 핵심 원리인 인터페이스 설계와 정보은닉이 결합도/응집도에 미치는 영향을 분석해야 합니다. 인터페이스 설계는 모듈 간 통신 방법을 표준화하여 결합도를 낮추고, 정보은닉은 모듈 내부의 데이터와 구현을 외부로부터 보호하여 응집도를 높입니다. 이러한 원리들이 소프트웨어 품질에 미치는 구체적 영향까지 서술해야 하는 종합적 사고력을 요구하는 문제입니다.