private (set)

Updated:

🔷 private (set)

struct MyPet {
	var kind = "고양이"
	// 내부 스트럭트나 클래스 안에서만 값을 설정
	private (set) var name = " 찰스"
	// 스트럭트에서 맴버 변수의 값을 변경할때는 메서드에 mutating 을 넣어 줘야 변경가능
	mutating func setName(to petName: String) {
		self.name = petName
	}
}


var myPet = MyPet()
print("myPet.kind: ", myPet.kind) // myPet.kind:  고양이

// 외부에서 접근은 가능하지만
print("mypet.name: ", myPet.name) // mypet.name:   찰스

// private(set) 이라서 값 변경은 내부에서만 가능
// 값을 변경 즉 설정 set 할려고 하면 에러 뜸

// myPet.name = "제임스"
// 내부에 잇는 메소드 사용
// 내부에서는 값 변경이 가능하다 struct 에서 mutating 을 넣어 주었기 때문에
myPet.setName(to: "레놀드")
print("myPet.name: ", myPet.name) // myPet.name:  레놀드


Reference

Swift Tip of the day - 스위프트 기초 문법 - https://spangle-wedelia-2dc.notion.site/Swift-Tip-of-the-day-c428bfd990674bcfa2a4973e5d08c4eb

꼼꼼한 재은 씨의 스위프트 문법편 - https://book.jacobko.info/#/book/1186710233

Categories:

Updated:

Leave a comment