[Swift Language Guide] Computed Property(연산 프로퍼티)

Lily·2021년 10월 20일
0

안녕하세요~ 릴리입니다🙋🏻‍♀️
오늘은 스위프트의 일급객체가 가지는 특성 중 하나인! 프로퍼티 중 연산프로퍼티의 기본기를 다져보겠습니다!

이 글은 스위프트 공식문서를 읽으며 공부한 내용이니, 더 자세한 내용은 아래 공식문서를 참고해주세요😊

[Swift Language Guide] Computed Properties


연산프로퍼티(Computed Properties)

클래스, 구조체, 열거형에서 정의 가능합니다.

연산 프로퍼티는 두 가지 기능이 있습니다.

  • getter(접근자) : 인스턴스 내/외부의 값을 연산하여 돌려줌
  • setter(설정자) : 다른 프로퍼티나 값을 가지고와 내부의 프로퍼티 값을 간접적으로 설정

연산 프로퍼티는 변수(var)로만 선언 가능하다는 점! 연산을 통해서 돌려주는 값이 언제 나 바뀔 수 있으니 변수로 선언해주어야겠죠?


Setter 간단 선언법

set할 값의 이름을 별도로 설정해주지 않으면, default로 newValue가 사용됩니다.

       // newCenter를 변수로 사용
        set(newCenter) {
            origin.x = newCenter.x - (size.width / 2)
            origin.y = newCenter.y - (size.height / 2)
        }
        
        // default 
        set {
            origin.x = newValue.x - (size.width / 2)
            origin.y = newValue.y - (size.height / 2)
        }
      

Getter 간단 선언법

만약 Getter의 전체 바디가 single expression일 경우, Getter는 암시적으로 expression을 return합니다. 따라서 return키워드를 생략 해줄 수 있습니다.

       get {
            Point(x: origin.x + (size.width / 2),
                  y: origin.y + (size.height / 2))
        }

Read-only Computed Properties

Setter는 없고, Getter만 있는 프로퍼티를 읽기 전용 프로퍼티라고 합니다.(Read-only Computed Properties)

읽기 전용 프로퍼티에서는 get키워드를 생략해주어도 됩니다.

profile
i🍎S 개발을 합니다

0개의 댓글