문제
다음 ( ) 안에 들어갈 내용으로 옳은 것은?
- 컴포넌트 설계 시 "( )에 의한 설계"를 따를 경우, 해당 명세에서는 (1) 컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할 선행조건 (2) 사용 후 만족되어야 할 결과조건 (3) 오퍼레이션이 실행되는 동안 항상 만족되어야 할 불변조건 등이 포함되어야 한다.
① 협약(Contract) ② 프로토콜(Protocol) ③ 패턴(Pattern) ④ 관계(Relation)
정답
1번
해설
정답: 1. 오퍼레이션 사용 전 선행조건, 사용 후 결과조건, 실행 중 불변조건을 명세하는 '( )에 의한 설계'는 협약(Contract)에 의한 설계이다.
오답 풀이
- 1번: 협약(Contract)은 인터페이스의 선행/결과/불변 조건 등 상호작용 규칙을 정의하므로 정답이다.
- 2번: 프로토콜은 주로 네트워크 통신 규약을 의미한다.
- 3번: 패턴은 반복되는 설계 문제의 해결 방식을 의미한다.
- 4번: 관계는 요소 간 연관을 나타내는 일반 용어이다.
보충 개념 계약에 의한 설계(Design by Contract)는 선행 조건, 후행 조건, 불변식으로 컴포넌트 간 책임을 명세한다.