이번에는 상속에 대해 작성해보려고 한다.
사실 상속에 관해서 다양한 이니셜라이저가 나타나는데, 이런 것들을 제외하고 가장 중요한 개념들 위주로 정리해볼 예정이다.
class Person {
var name: String = ""
var age: Int = 0
var introduction: String {
return "이름 : \(name). 나이 : \(age)"
}
func speak() {
print("가나다라마바사")
}
}
//Person을 상속 받은 Student
class Student: Person {
var grade: String = "F"
func study() {
print("Study hard...")
}
}
let ted: Student = Student()
ted.speak() //Person에 있는 메소드 사용 가능
재정의
//override를 통한 메소드 재정의
class Student: Person {
var grade: String = "F"
func study() {
print("Study hard...")
}
override func speak() {
print("저는 학생입니다.")
}
}
재정의 방지 (final)
[출처] 스위프트 프로그래밍 (야곰), 야곰의 스위프트 기초문법 강좌, 개발하는 정대리 스위프트 강좌