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()

 

 

 

+ Recent posts