Computed Property 예제

권현석·2023년 2월 15일
0

Computed Property

목록 보기
4/6

1. getter를 사용한 예제
=> 주문해야할 피자의 판 수는?

let pizzaInInches: Int = 16
let numberOfPeopel: Int = 12
let slicesPerPerson: Int = 4

var numberOfSlices: Int {
	get {
    	return pizzaInInches - 4
    }
}

var numberOfPizza: Int {
	get {
    	let numberOfPeopleFedPerPizza = numberOfSlices / slicesPerPerson
        return numberOfPeopel / numberOfPeopleFedPerPizza
    }
}

print(numberOfPizza)

위와 같이 computed property와 getter를 사용해 피자의 사이즈, 사람의 수,
한 사람이 먹을 피자조각 수를 바꾸더라도 주문해야 할 피자 판수를 구할 수 있다.

2. setter를 이용한 예제
=> 현재 갖고 있는 피자 판수에 따라 초대할 수 있는 사람의 수는?

let pizzaInInches: Int = 16
var numberOfPeopel: Int = 12
let slicesPerPerson: Int = 4

var numberOfSlices: Int {
	get {
    	return pizzaInInches - 4
    }
}

var numberOfPizza: Int {
	get {
    	let numberOfPeopleFedPerPizza = numberOfSlices / slicesPerPerson
        return numberOfPeopel / numberOfPeopleFedPerPizza
    }
    set {
    	let totalSlices = numberOfSlices * newValue
        numberOfPeople = totalSlices * slicesPerPerson
    }
}

numberOfPizza = 4
print(numberOfPeople) // 12
  • 위의 예제에서는 'numberOfPeople' property를 상수에서 변수로 바꾼다.
  • setter 내부에서 'numberOfPizza'의 새로운 값 설정을 위한 'newValue'를 다음과 똑같이 써야한다.

3. 예제를 통해 알아본 computed property를 사용 시 장점

  1. 에러를 줄일 수 있다.
  2. 코드를 더 다양하게 작성가능하며, 유지 보수에 유리하다.
  3. 코드를 이해하기 쉽다.
profile
wanna be an iOS developer

0개의 댓글