典型的な値オブジェクトは、一つか二つのプリミティブ型のフィールド変数を持ち、値の種類を表すわかりやすいクラス名を持ち、getter/setterを持たず、メソッドは短く、メソッド内のネストは一段まで、メソッド内にelseはなく、1行にドットはあってもひとつで、クラスは小さい。
オブジェクト指向エクササイズなんだけどね。
値オブジェクト設計の練習帳だと思えばよい。
カプセル化の練習帳でもある。
値オブジェクトのメソッドの集合は
足し算・引き算
掛け算
割り算
同値判定
大小判定
最小値・最大値
標準の文字列表現の定義
のサブセットになる。