オーバーライドとオーバーロード、言葉は似ていますが全く違うものです。
#オーバーライド
継承したスーパークラスのメソッドを上書きすること
class SuperClass{
func sayHello(){
print("Hello")
}
}
class SubClass: SuperClass{
override func seyHello(){
print("こんにちは")
}
}
let superClass = SuperClass()
let subClass = SubClass()
superClass.sayHello() //Hello
subClass.sayHello() //こんにちは
#オーバーロード
同じクラスの中に名前は同じだが、引数や戻り値が違うメソッドを定義すること
class SomeClass{
func sayHello(){
print("こんにちは")
}
func sayHello(name: String){
print("こんにちは" + name + "さん")
}
}
let someClass = SomeClass()
someClass.sayHello() //こんにちは
someClass.sayHello(name: "花子") //こんにちは花子さん