"よくある"クラスの特徴を簡単にまとめます。 int型やDate型など、言語で用意された型を使用してフィールドが宣言されている getter/setterメソッドが実装されている このような一般的なクラスの一体何が問題なのでしょうか。 よくあるクラスの問題点 さきほど二つの特徴をあげましたが、よくあるクラスにはこれらに関連した大きな問題点があります。それは、業務アプリケーションを作り上げるために存在するクラスであるにも関わらず、「業務ルールに反した値や操作を許す構造になっている」ことです。実際のソースコードを見てみましょう。 コードで見てみる問題点 例として、先のクラスのポイント(point)というフィールドを考えることにします。仮に、「ポイントは0から1000までとすること」という業務ルールがあるとしましょう。しかし、Taskクラスにおけるポイントはint型で宣言されていますから、こんな