この例では、Humanのinitializeメソッドは次の3つの引数を取ります。name, age, sexの3つですね。 つまりHuman.newでインスタンスを作成するところでは引数を3つ渡しています。 まあ教科書通りのinistializeメソッド及び引数の使い方ですね。 しかしこの方法には大きな欠点があります。 引数を順番に渡さなければならない 3つの引数をもれなく、だぶりなく渡さなければならない この引数の使い方は小規模かつ個人での開発なら何ら問題有りません。 自分が作成したインスタンスなので勝手はわかっているし、他のクラスとの依存関係も頭に入っているはずです。 小規模の開発なら変更も少ないですし、この仕様が変わることはないかもしれません。 しかし、大規模な開発かつチームでの開発だったらどうでしょう? チームでの開発/実務レベルでの大規模な開発では常に変更を考えて実装しなければな