비전공자의 Swift 기초문법 - final

3304 단어 swiftswift

final

  • 오버라이드 방지 (재정의 방지)
  • 재정의, 상속을 방지하고 싶은 것들 앞에 final을 붙여주면 된다
  • final var, final func, final class

예제

class Person {
    final var name: String = ""
    
    final func speak() {
        print("가나다라마바사")
    }
}

final class Student: Person {
    override var name: String {
        set {
            super.name = newValue
        }
        get {
            return "학생"
        }
    } // Person의 name은 final을 사용했기 때문에 재정의할 수 없다.
    
    override func speak() {
        print("학생입니다.")
    } // Person의 speak은 final을 사용했기 때문에 재정의할 수 없다.
}

class UniversityStudent: Student {} // Student는 final을 사용했기 때문에 상속받을 수 없다.

좋은 웹페이지 즐겨찾기