swift 문법 총정리(9) Properties_Stored_Computed
Updated:
Property 프로퍼티
Stored Properties - 저장 프로퍼티 Computed Properties - 계산 프로퍼티
class SomeClass {
var firstScore = 10
var secondScore = 20
var totalScore = firstScore + secondScore
//다른 property의 값을 property에 직접적으로 대입시키는 것은 안된다.
func totalScore() -> Int{
totalScore1 = firstScore + secondScore
return totalScore1
}
//func으로 해주는 것은 가능하다.
//property 설정
var totalScore: Int{
get{
//totalScore가 결론적으로 가지게 되는 값
return firstScore + secondScore
}
//set을 정의하지 않으면 읽기 전용이 된다.
//set{
//}
}
}
var someClass = SomeClass()
someClass.totalScore = 10
//오류발생
//set이 있어야만 값을 받아올 수 있다.
struct SomeStruct {
var firstScore = 10
var secondScore = 20
var totalScore: Int{
get{
return firstScore + secondScore
}
}
}
//struct도 가능
var someStruct = SomeStruct()
someStruct.fistScore = 50
someStruct.secondScore = 100
someStruct.totalScore
//150
enum SomeEnum {
// var score = 10
case iPhone
case iPad
//computed properties
var price: Int{
switch self {
case .iPad:
return 500
case .iPhone:
return 400
}
}
}
var someEnum = SomeEnum.iPad
someEnum.price
//500
someEnum = .iPhone
someEnum.price
//400
//enum은 stored properties를 사용할 수 없다.
class와 struct는 매우 유사하다. class는 상속이 가능하고 참조가 된다. struct는 참조가 아니라 값이 복사가 되는것이다.
Reference
인프런 강의
Leave a comment