1. 内容結合 (content coupling) 内容結合とは、対象の内部実装に直接依存することです。極端な例ですと、ある手続きの特定のラベルに、外部から直接ジャンプしてしまうことなどが挙げられます。近代的なプログラミング言語においては、ジャンプの方法を制限したりすることで、この内容結合を起こしにくくしていることが多いです。ただし、あるオブジェクトの内部状態に依存するコードを書いてしまうと、内容結合と同等に強い結合になります。ここではその例として、不正な状態が存在する設計例を示します。 まず、 `Calculator` という数値計算をするクラスを作りたいとします。もし、この `Calculator` を使う際に、前処理や後処理に特別な手順が必要であったり、事前・事後条件が必要であったりすると、呼び出し側は `Calculator` の内部状態に依存してしまいます。 class Ca