[swift] 14. 상속

몽이 누나·2022년 4월 26일
0

swift 기초 문법

목록 보기
14/17
post-thumbnail

📖 상속

📌 상속 (Inheritance)

상속 이란 부모한테 자식이 물려받는 것처럼, 어떠한 클래스의 프로퍼티와 메소드를 다른 클래스에게 그대로 물려주는 것입니다.

💬 위에서 아래로 내려오는 것
💬 이브이에 여러 속성이 더해져, 다양한 모습으로 진화하는 예시를 생각해봅시다.


📌 클래스 생성

ex)

class Friend {
    var name : String
    
    init(_ name : String) {
        self.name = name
    }
    
    func sayHi() {
        print("안녕? 나는 \(self.name)라고 해")
    }
}

📌 오버라이딩 (Overriding)

ex)

class BestFriend : Friend {
    
    // var name : String을 이미 가지고 있음
    
    // override로 부모의 메소드를 가져왔다.
    override init (_ name : String) {
        // super로 부모의 메소드 사용
        super.init("베프 " + name)
        // friend가 가지고 있는 init에 추가로 더하는 것
    }
    
    override func sayHi() {
        super.sayHi()
    }
}

💬 부모 클래스를 활용할 때, init나 func를 입력하고 enter를 치면 자동으로 override 가 뜹니다!

💬 부모 클래스의 메소드를 활용할 때, super 를 꼭 써줘야 합니다.


📌 활용

ex)

let myFriend = Friend("몽이 누나")

myFriend.sayHi()

let myBestFriend = BestFriend("몽이")

myBestFriend.sayHi()

>>> 안녕? 나는 몽이 누나라고 해
안녕? 나는 베프 몽이라고 해
myBestFriend.name

>>> 베프 몽이

💬 부모가 가지고 있는 name라는 변수를 그대로 따와, 그 위에 새로운 내용을 덮어 썼음을 알 수 있습니다.


profile
몽이 누나의 코딩 일기

0개의 댓글