부모와 자식에 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
'Swift' 카테고리의 다른 글
Swift 정리 : Type Property (0) | 2022.11.01 |
---|---|
Swift 정리 : extension(익스텐션) (0) | 2022.11.01 |
Swift 정리 : 스위프트 상속 (0) | 2022.11.01 |
Swift 정리 : method overloading : 생성자 중첩 (0) | 2022.11.01 |
Swift 정리 : computed property의 setter (1) | 2022.11.01 |