반응형
안녕하십니까 공부하는 개발자 입니다.
오늘 포스팅은 계산속성입니다.
🔔Computed Properties 계산속성 특징
계산속성의 경우에는 메모리를 할당받지 않습니다.
메모리를 할당받지 않고 다른 속성에서 필요한 값을 계산하여 리턴하거나 전달받은 속성을 다른 속성에 저장합니다.
열거형에도 추가할 수 있으며 항상 var을 서야하고 형식 추론이 안되기때문에 항상 자료형을 써주어야한다.
1
2
3
4
5
6
7
8
9
|
var name: Type{
get{
statements
return expr
}
set(name){
statements
}
}
|
cs |
기본적인 선언방식이다. 내용을 본다면 자바의 getter, setter와 비슷하지 않나 생각됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
class Person {
var name: String
var yearOfBirth: Int
init(name: String, year: Int) {
self.name = name
self.yearOfBirth = year
}
var age: Int{
get{
let calender = Calendar.current
let now = Date()
let year = calender.component(.year, from: now)
return year - yearOfBirth
}
set{
let calender = Calendar.current
let now = Date()
let year = calender.component(.year, from: now)
yearOfBirth = year - newValue
}
}
}
let p = Person(name: "John Doe", year: 2002)
p.age
|
cs |
이런식으로 사용을 할 수 있지만 자바에서는 DTO나 VO에서 선언을 따로 해주는 부분이 있지만
swift에서는 실제로 어떤식으로 사용하는지 아직 잘 모르겠다.
또한 Computed Properties는 get만 사용이 가능하지만 set만 사용할 수는 없다.
반응형
'Ios > Swift' 카테고리의 다른 글
[Swift] Instance Method 인스턴스 메서드 (0) | 2022.07.13 |
---|---|
[Swift] Property Observer 스위프트 속성 감시자 (0) | 2022.07.12 |
[Swift] Stored Property 스위프트 저장속성 (0) | 2022.07.10 |
[Swift] Structure & Class 스위프트 구조체와 클래스 (0) | 2022.07.09 |
[Swift] Swift Collection Set 스위프트 set (0) | 2022.06.30 |