Swift
Swift 정리 : override : 부모와 자식에 같은 메서드가 있으면 자식 우선
코딩갱
2022. 11. 1. 15:51
부모와 자식에 display()라는 메서드가 있어서 Student클래스는 display() 메서드가 두 개임
Student클래스의 인스턴스 lee가 display()를 호출할 때, 자식클래스가 새로 만든 display() 메서드가 우선적으로 호출되려면 func 앞에 override키워드 씀
class Man{
var age : Int
var weight : Double
func display(){
print("나이=\(age), 몸무게=\(weight)")
}
init(age: Int, weight : Double){ //1
self.age = age
self.weight = weight
}
}
class Student : Man {
var name : String
override func display() { //override
print("이름=\(name), 나이=\(age), 몸무게=\(weight)")
}
init(age: Int, weight : Double, name : String){
self.name = name
super.init(age:age, weight:weight) //부모쪽에서 받아와서 초기화
}
}
var lee : Student = Student(age:23,weight:95,name:"이경호")
lee.display() //이름=이경호, 나이=23, 몸무게=95.0