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

인프런 강의

Tags: ,

Categories:

Updated:

Leave a comment