티스토리 뷰
728x90
프로젝트를 처음 만들어봤을때
가장먼저 맞이해주는 override 많이들 보셨죠 ?
아무 생각없이 넘어갔는데
오늘은 override에 대해 한번 파봅시다!!
오버라이드 (override)
일단 공식문서의 내용을 요약해서 먼저 한번 볼까요
상위클래스로부터 상속받은 메서드, 프로퍼티들을 하위 클래스에서 재정의하는 것
살짝 알듯 말듯 하네요.
말보단 코드로 먼저 보시죠 !!
눈으로 보는것 보다 Playground에 따라 쳐보시면 이해가 더 잘갑니다
먼저 Student라는 class를 만들어볼게요.
class Student {
func sayHello() {
print("안녕 나는 학생이야")
}
}
호출을 하면 어떻게 나오는지 볼까요 ?
let student = Student()
student.sayHello()
여기에 Student 클래스를 상속 받아서 Conan 이 인사하는 하위클래스를 만들어볼게요 .
class Conan: Student {
func sayHello() {
print("내이름은 코난 탐정이져")
}
}
어떻게 뜨셨나요 ?
아래와 같은 화면이 뜨셔야 정상입니다!!
맨처음 언급했던 공식문서 내용을 다시 보면,
상속받은 메서드 프로퍼티를 재정의 하기위해서는 override가 필요합니다.
즉 이렇게 해주면 된다는거죠 ⬇
class Conan: Student {
override func sayHello() { // <-- override 추가!!
print("내이름은 코난 탐정이져")
}
}
let conan = Conan()
conan.sayHello()
// 내이름은 코난 탐정이져
추가로
도입부에서도 언급했지만
override 하면 프로젝트 생성할때
override func viewDidLoad() {
super.viewDidLoad()
}
이거 많이 보셨죠 ?
여기서 super에 대해서도 알아볼건데요!
일단 개념은 아래와 같아요!
super.메서드() // <-- super는 상위클래스를 뜻합니다!!
위에 Conan을 예시로 들었던걸 다시 응용해볼게요.
class Conan: Student {
override func sayHello() {
super.sayHello()
print("내이름은 코난 탐정이져")
}
}
let conan = Conan()
conan.sayHello()
이렇게 하면 어떻게 찍힐까요 ??
오오.. super
즉,
슈퍼클래스 (Student)의 메서드를 그대로 쓰겠다는 뜻이겠네요 !!
뷰 컨트롤러 생성하고 여러 동영상 강의를 보면서 override가 뭔지 몰라서 그냥 넘어갔는데
하나하나 공부하면서 알아가니까
아는만큼 보이는것 같아 뿌듯하네요.
아직 공부할게 정말 많지만 꾸준히 해 나가야겠습니다. 💪
이해하는데 도움이 됐어요.
728x90
'iOS' 카테고리의 다른 글
[iOS] Frame, Bounds 차이 (0) | 2021.11.14 |
---|---|
WebSocket 용어 (0) | 2021.11.12 |
[Swift] Extension (0) | 2021.11.09 |
[iOS] UIKit 에서 실시간 Preview 보는 방법 (0) | 2021.11.05 |
[Swift] Generic 제네릭 (0) | 2021.10.30 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- ios
- Swift final
- removeLast()
- swift property
- RIBs tutorial
- 2023년 회고
- Swift 내림차순
- Swift init
- 원티드 프리온보딩
- Swift ModernRIBs
- Swift inout
- iOS error
- Swift
- Swift joined
- Swift 프로퍼티
- RTCCameraVideoCapturer
- swift programmers
- swift reduce
- Swift 알고리즘
- Swift 프로그래머스
- swift (programmers)
- Class
- swift protocol
- CS 네트워크
- Swift Leetcode
- swift 고차함수
- Swift RIBs
- Swift Error Handling
- Combine: Asynchronous Programming with Swift
- Swift joined()
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함