1. override 기본 예시
class Name {
var name = "Kim"
func myName() {
print("my name is \(name)")
}
}
class ourName : Name {
var yourName = "Lee"
override func myName() {
print("I'm \(name) and you are \(yourName)")
}
}
let minji : ourName = ourName()
minji.myName()
2. super 사용 예제
super.myName()을 통해 상위 클래스에 있는 myName()을 실행한 뒤에 하위 클래스에 있는 myName()을 실행합니다.
class Name {
var name = "Kim"
func myName() {
print("my name is \(name)")
}
}
class ourName : Name {
var yourName = "Lee"
override func myName() {
super.myName()
print("I'm \(name) and you are \(yourName)")
}
}
let minji : ourName = ourName()
minji.myName()
3. final 사용 예제
final으로 정의한 함수를 override할 수 없습니다. final을 붙이면, 이 함수로 override해서 쓸 수 없다고 막아두는 것입니다.
중요하거나 주의해야하는 함수에서 final을 작성해둡니다.
class Name {
var name = "Kim"
final func myName() {
print("my name is \(name)")
}
}
class ourName : Name {
var yourName = "Lee"
override func myName() {
print("I'm \(name) and you are \(yourName)")
}
}
let minji : ourName = ourName()
minji.myName()
'Development > iOS' 카테고리의 다른 글
[Swift] 기본 문법 정리 12 : Instance Method & Type Methode (인스턴스 메소드 & 타입 메소드) (0) | 2023.03.10 |
---|---|
[SwiftUI] 상세 페이지로 이동하기, 다른 페이지로 전환하기 (0) | 2023.03.09 |
[Swift] 기본 문법 정리 10 : Mutating (0) | 2023.03.08 |
[Swift] 기본 문법 정리 9 : 옵셔널(Optional)과 옵셔널 바인딩(Optional Binding), 옵셔널 체이닝(Optional Chaining), nil 병합 연산자(nil coalescing operator) (0) | 2023.03.06 |
[Swift] 기본 문법 정리 8 : 클래스(Class)와 구조체(Structure) (1) | 2023.03.04 |