オブジェクト指向の世界 != 現実世界

オブジェクト指向は現実世界における私たちの認識を、できるだけそのまま表現できるようにしたもの」と説明されています。
しかし、(ばば抜きプログラムの)手札クラスのように、現実にはありえない操作を持たせています。
オブジェクト指向で重要なのは、あくまでも役割を明確に分担することなので、現実世界でありうるかどうかは気にする必要がない。
「同じ数のカードを探すのは手札の役割」と決めたため、手札は「ただのカードの集まり」ではなく、「賢い手札」になっています。そのため、プレイヤーは「同じ数のカードを教えてください」と手札にお願いするだけでよいのです。

[ なぜ、あなたはJavaオブジェクト指向開発ができないのか P145〜146 ]