본문 바로가기

# 02/Swift

[Swift] 상속

반응형

상속


- 스위프트의 상속은 클래스, 프로토콜 등에서 가능하다.


- 열거형, 구조체는 상속이 불가능하다.


- 스위프트는 다중상속을 지원하지 않는다.


- 이번 파트에서는 클래스의 상속에 대해서 알아본다.



class 이름: 상속받을 클래스 이름 {

 구현부

}







class Person {


var name: String = ""


func selfIntroduce() {

print("저는 \(name)입니다")

}


// final 키워드를 사용하여 재정의를 방지할 수 있다.

final func sayHello() {

print("hello")

}


// 타입 메서드

// 재정의 불가 타입 메서드 - static

static func typeMethod() {

print("type method - static")

}


// 재정의 가능 타입 메서드 - class

class func classMethod() {

print("type method - class")

}


// 재정의 가능한 class 메서드라도

// final 키워드를 사용하면 재정의 할 수 없다.

// 메서드 앞의 `static`과 `final class`는 똑같은 역할을 한다.

final class func finalClassMethod() {

print("type method - final class")

}

}




class Student: Person {


// 상속받은 Person 클래스에 이미 존재하므로 또 정의할 수 없다. 프로퍼티는 override도 불가능하다.

// var name: String = ""

var major: String = ""


override func selfIntroduce() {


}


override class func classMethod() {


}


// static 을 사용한 타입 메서드는 재정의 불가


// final 키워드를 사용한 메서드, 프로퍼티는 재정의 할 수 없다.


}





반응형

'# 02 > Swift' 카테고리의 다른 글

[Swift] 옵셔널 체이닝과 nil 병합 연산자  (0) 2020.06.04
[Swift] 인스턴스의 생성과 소멸  (0) 2020.06.04
[Swift] 프로퍼티 감시자  (0) 2020.06.04
[Swift] 프로퍼티  (0) 2020.06.04
[Swift] 클로저 고급  (0) 2020.06.04