계산 속성은 메모리 공간을 가지고 있지 않다.

NOAH·2021년 8월 23일
0

SWIFT

목록 보기
5/7
post-thumbnail

계산 속성은 메모리 공간을 가지고 있지 않다.


var name: Type {
	get {
    	statements
        return expr
	}
	set(parameter name) {
	statements
	}
}
  1. 저장속성(Stored Properites)은 값을 저장할 메모리 공간을 가지고 있다.
    하지만 계산 속성(Computed Properties)은 메모리 공간을 가지고 있지 않다.
    저장할 메모리 공간을 가지고 있지 않기 때문에 선언 시점에 기본값을 저장 하지 않는다.
    형식 추론 사용할 수 없고 자료형을 명시적으로 선언해주어야 함

  2. 대신에 다른 속성에 저장된 값을 읽어서 필요한 계산을 실행한 다음에 리턴하거나,
    속성에 전달된 값을 다른 속성에 저장한다. 속성에 접근할 때 마다 다른 속성이 리턴될 수 있다.

  3. 클래스, 구조체 뿐만 아니라 열거형에도 적용할 수 있다.

  1. get블록(getter) 속성 값을 읽을 때 실행된다. 다른 속성에 저장된 값을 리턴해준다.

  2. set블록(setter) 값을 저장할 때, 괄호와 파라미터를 생략할 수 있는데
    이 경우엔 NewValue라는 이름을 가진 기본값을 사용한다.

실습

읽기 전용 계산 속성

var name: Type {
	get {
    	statements
        return expr
	}

읽기 전용 계산 속성에서는 get을 생략하고 쓸 수 있다.

var name: Type {
 	statements
     return expr
	}

0개의 댓글