반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 리눅스
- 다이어리
- 스프링
- CD
- Spring
- 소켓
- AI
- 아이패드다이어리
- 오블완
- 데이터베이스
- libasm
- 오라클
- Xcode
- 네트워크
- 42seoul
- JPA
- 스프링부트 웹 소켓
- MySQL
- jenkins
- sql
- 스프링부트
- CI
- DBMS
- swift
- 프로그래밍언어론
- javascript
- springboot
- 티스토리챌린지
- 인공지능
- IOS
Archives
- Today
- Total
Hi yoahn 개발블로그
[Swift] #9 Type Properties 본문
반응형
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
Swift ) Properties - Type Properties
자 < Stored Property(저장 프로퍼티)>에서 말했던 Swift에는 3가지 종류의 프로퍼티가 있다고 한 것 기억나시나요? 우리는 에서 저장프로퍼티를 봤고, 에서 연산프로퍼티를 봤습니다! 그리고...이제
zeddios.tistory.com
반응형
'프로그래밍 언어 > swift' 카테고리의 다른 글
[Swift] #10 Method (인스턴스 메소드, 타입 메소드) (0) | 2021.02.01 |
---|---|
[Swift] #8 오류처리 및 고차함수 (0) | 2021.01.22 |
[Swift] #7 다양한 표현 및 확장 5 (assert / guard / 프로토콜 / 익스텐션) (0) | 2021.01.21 |
[Swift] #6 다양한 표현 및 확장 4 (옵셔널체이닝/nil 병합/타입캐스팅) (0) | 2021.01.21 |
[Swift] #5 다양한 표현 및 확장 3 (상속 / 인스턴스 생성 / 소멸) (0) | 2021.01.20 |
Comments