본문 바로가기
책 정리/Swift 프로그래밍

Chap 10. 프로퍼티와 메서드

by apple망고 2024. 5. 20.

프로퍼티의 종류

  • 저장 프로퍼티: 인스턴스의 변수 또는 상수, 구조체와 클래스에서만 사용 가능
  • 연산 프로퍼티: 특정 연산을 실행한 결괏값
  • 타입 프로퍼티: 특정 타입에 사용되는 프로퍼티

프로퍼티 감시자: 프로퍼티 값이 변하는 것을 감시한다.

  • 값이 변할 때 값의 변화에 따른 특정 작업을 실행한다.
  • 저장 프로퍼티에 적용할 수 있으며 부모클래스로부터 상속 받을 수 있다.

지연 저장 프로퍼티

  • 호출이 있어야 값을 초기화
  • lazy키워드 사용
  • 클래스의 인스턴스의 저장 프로퍼티로 다른 클래스의 인스턴스나 구조체 인스턴스를 할당 시에 사용
  • 불필요한 성능저하나 공간 낭비를 줄일 수 있다.

연산 프로퍼티

  • getter: 인스턴스 내/외부의 값을 연산하여 적절한 값을 돌려주는 접근자 역할
  • setter: 은닉화된 내부의 프로퍼티 값을 간접적으로 설정하는 설정자 역할
  • 메서드 보다 연산프로퍼티를 사용 시 하나의 프로퍼티에 접근자와 설정자가 모두 모여 있어
    해당 프로퍼티가 어떤 역할을 하는지 좀 더 명확하게 표현 가능함

프로퍼티 감시자:

  • 프로퍼티의 값이 변경됨에 따라 적절한 작업을 취할 수 있음
  • 프로퍼티의 값이 새로 할당될 때마다 호출함
  • willSet: 프로퍼티 값이 변경되기 직전에 호출
  • didSet: 프로퍼티 값이 변경된 직후에 호출

타입 프로퍼티:

  • 인스턴스를 생성하지 않고도 사용할 수 있음

키 경로:

  • 프로퍼티 위치만 참조
  • 타입 간의 의존성을 낮춤

self 프로퍼티:

인스턴스를 더 명확히 지칭하고 싶을 때 사용

 

타입 메서드:

  • 타입 자체에 호출이 가능한 메서드
  • class(상속 후 메서드 재정의 가능), static(상속 후 메서드 재정의 불가능)