프로퍼티의 종류
- 저장 프로퍼티: 인스턴스의 변수 또는 상수, 구조체와 클래스에서만 사용 가능
- 연산 프로퍼티: 특정 연산을 실행한 결괏값
- 타입 프로퍼티: 특정 타입에 사용되는 프로퍼티
프로퍼티 감시자: 프로퍼티 값이 변하는 것을 감시한다.
- 값이 변할 때 값의 변화에 따른 특정 작업을 실행한다.
- 저장 프로퍼티에 적용할 수 있으며 부모클래스로부터 상속 받을 수 있다.
지연 저장 프로퍼티
- 호출이 있어야 값을 초기화
- lazy키워드 사용
- 클래스의 인스턴스의 저장 프로퍼티로 다른 클래스의 인스턴스나 구조체 인스턴스를 할당 시에 사용
- 불필요한 성능저하나 공간 낭비를 줄일 수 있다.
연산 프로퍼티
- getter: 인스턴스 내/외부의 값을 연산하여 적절한 값을 돌려주는 접근자 역할
- setter: 은닉화된 내부의 프로퍼티 값을 간접적으로 설정하는 설정자 역할
- 메서드 보다 연산프로퍼티를 사용 시 하나의 프로퍼티에 접근자와 설정자가 모두 모여 있어
해당 프로퍼티가 어떤 역할을 하는지 좀 더 명확하게 표현 가능함
프로퍼티 감시자:
- 프로퍼티의 값이 변경됨에 따라 적절한 작업을 취할 수 있음
- 프로퍼티의 값이 새로 할당될 때마다 호출함
- willSet: 프로퍼티 값이 변경되기 직전에 호출
- didSet: 프로퍼티 값이 변경된 직후에 호출
타입 프로퍼티:
- 인스턴스를 생성하지 않고도 사용할 수 있음
키 경로:
- 프로퍼티 위치만 참조
- 타입 간의 의존성을 낮춤
self 프로퍼티:
인스턴스를 더 명확히 지칭하고 싶을 때 사용
타입 메서드:
- 타입 자체에 호출이 가능한 메서드
- class(상속 후 메서드 재정의 가능), static(상속 후 메서드 재정의 불가능)
'책 정리 > Swift 프로그래밍' 카테고리의 다른 글
Chap 16~17. 모나드, 서브스크립트 (0) | 2024.06.05 |
---|---|
Chap 14~15. 옵셔널 체이닝과 빠른 종료, 15(맵, 필터, 리듀스) (0) | 2024.05.22 |
Chap 13. 클로저 (0) | 2024.05.20 |
Chap 11~12. 인스턴스 생성 및 소멸, 접근 제어 (0) | 2024.05.20 |
Chap 9. 구조체와 클래스 (0) | 2024.05.04 |
Chap 8. 옵셔널 (0) | 2024.04.12 |
스위프트 프로그래밍 [Chap 1~7] (0) | 2024.04.12 |