Hi yoahn 개발블로그

[Swift] #9 Type Properties 본문

프로그래밍 언어/swift

[Swift] #9 Type Properties

hi._.0seon 2021. 2. 1. 19:24
반응형

1. 타입 프로퍼티

- 프로퍼티를 타입 자체와 연결할 수도 있다

- 타입 프로퍼티는 모든 타입이 사용할 수 있는 상수 프로퍼티 (static 상수)

     or 글로벌 변수 프로퍼티 (static 변수, 특정 타입의 모든 인스턴스의 값을 정의하는데 유용)

 

  • 저장 타입 프로퍼티
    - 변수 / 상수
  • 연산 타입 프로퍼티
    - 항상 변수 프로퍼티

저장 타입 프로퍼티 -> 항상 기본값 지정

Why?

초기화 시, 타입 자체에는 저장 타입 프로퍼티에 값을 할당할 initializer가 없기 때문이다

 

저장 타입 프로퍼티는 처음 액세스 할 때는 lazy initialized 한다.

한번만 초기화 되는 것이 보증되어 있음 -> lazy 키워드 사용 안해도 됨

lazy initialization
인스턴스의 생성을 메소드 호출 시점에 생성

 

enum 에서 저장 타입 프로퍼티 사용 가능

enum SomeEnumeration {

    static var storedTypeProperty = "Some value."

    static var computedTypeProperty: Int {

        return 6
        // get 구현
    }
}

class

클래스 타입에 대한 연산 타입 프로퍼티

-> "class" 키워드를 사용하여 서브클래스가 슈퍼클래스의 구현을 재정의 할 수 있다

class SomeClass {

    static var storedTypeProperty = "Some value."

    static var computedTypeProperty: Int {

        return 27

    }

    class var overrideableComputedTypeProperty: Int {

        return 107

    }
}

class ChildSomeClass : SomeClass{

    override static var overrideableComputedTypeProperty: Int{

        return 2222

    }
}

1 ) 타입 프로퍼티 접근

[구조체, 열거형, 클래스 이름] [타입 프로퍼티]

 

SomeClass.storedTypeProperty

 

zeddios.tistory.com/251

 

Swift ) Properties - Type Properties

자 < Stored Property(저장 프로퍼티)>에서 말했던 Swift에는 3가지 종류의 프로퍼티가 있다고 한 것 기억나시나요? 우리는 에서 저장프로퍼티를 봤고, 에서 연산프로퍼티를 봤습니다! 그리고...이제

zeddios.tistory.com

반응형
Comments