프로퍼티 Property

프로퍼티

: 클래스, 구조체, 또는 열거형 등과 값을 연결

: 값을 저장하거나 제공하기 위한 목적

1. 저장 프로퍼티: 값을 저장하고, 저장된 값을 제공하는 프로퍼티
2. 연산 프로퍼티: 값 저장 x, 특정 연산을 실행한 결과값
3. 타입 프로퍼티: 특정 타입에서 사용되는 프로퍼티(특정 인스턴스 x)

1. 저장 프로퍼티

→ 저장 프로퍼티는 그동안 익숙하게 사용해 왔던 것들로,

var name let number 등등.. 선언을 통해서 값을 저장해왔던 것들이다.

2. 연산 프로퍼티

개인적으로 이것 부터 어려웠다!!

먼저 연산 프로퍼티는 말 그대로, 연산을 하는 것이다.

값을 저장하는 것 대신에 getter/setter를 통해 값에 직접적으로 접근을 할 수 있다.

시급을 알려주는 클래스를 예로 들어 보자.

 class MyHourlyWage {
    // 저장 프로퍼티
    var montlySalary: Double
    var workingHours: Double
    
		//연산 프로퍼티
		var hourlyWage: Double { ... }
    
	  init(monthlySalary: Double, workingHours: Double) {
       self.monthlySalary = monthlySalary
       self.workingHours = workingHours
   }
}