やりたいこと オブジェクト指向プログラミング(OOP): 継承、多態性などを活用した設計を行い、再利用可能で拡張しやすいクラス構造を構築する。 依存性注入(DI)と依存性逆転の原則(DIP): DIを用いて、クラス間の結合度を下げ、柔軟性とテストの容易さを高める。これにより、依存性逆転の原則に従った設計を学ぶ。 集約・合成: サンプルコードを通じて集約・合成について学ぶ