본문 바로가기
Swift

[Swift] class 키워드 vs static 키워드

by Sky Titan 2021. 6. 2.
728x90
 

[Swift] class func vs static func

타입 메소드 &타입 프로퍼티 알아보기

sujinnaljin.medium.com

class 키워드 vs static 키워드

  • 둘 다 하는 역할은 동일하게 property, method를 해당 클래스에서 정적으로 쓰이게 한다.
  • 하지만 class는 하위 클래스에서 override가 가능하다는 점이 다르다.
    • 단, property의 경우 무조건 Computed Property에만 class 키워드를 사용 가능하다.
    • 또한 class 키워드는 struct나 enum 같은 override가 불가능한 value type에선 사용이 불가능하고 Class에서만 사용가능
import Foundation

class A {
    static var name: String = "name_for_A"
    class var age: Int {
        return 15
    }

    class func printInfo() {
        print(name)
    }
}

class B: A {
    //하위 클래스에서 오버라이드 (단 프로퍼티는 무조건 Computed Property로만 사용 가능)
    override class var age: Int {
        return 20
    }

    override class func printInfo() {
        print(age)
    }
}

A.printInfo()
B.printInfo()
728x90

'Swift' 카테고리의 다른 글

[Swift] 스위프트 네이티브 객체  (0) 2021.06.15
[Swift] 가변매개변수 (Variadic Parameters)  (0) 2021.06.13
[Swift] ARC (Auto Reference Counting)  (0) 2021.05.31
[Swift] where절  (0) 2021.05.31
[Swift] inout 파라미터  (0) 2021.05.28

댓글