class Animal {} class Cat: Animal {} class Vehicle { class func hit(_ x: Cat) {} } class Uaz : Vehicle { // 両方かくとエラー、どっちかだけなら通る。 override class func hit(_ x: Animal) {} override class func hit(_ x: Cat?) {} }