抽象クラスを活用して不正なインスタンスの生成を防ぐ