Lazy

Updated:

🔷 Lazy

struct Pet {
	init() {
		print("Pet 이 생성 되었다")
	}
}

// 클래스나 스트럭트 동일하게 적용됩니다
struct Friend {
	var name: String
	// 펫을 맴버 변수로 가진다
	// lazy 키워드를 사용하면
	// 인스턴스가 생성이 바로 안됨
	lazy var pet = Pet()
	init(_ name: String) {
		self.name = name
		print("Friend 가 생성됨")
	}
}

// lazy 키워드가 없을때는
// Friend 가 생성 될 때 Pet 도 같이 인스턴스 생성 됩니다
var myFriend = Friend("Jacob") // Friend

// lazy 키워드가 있을때는
// 나중에 직접 생성 해줘야 생성된다
myFriend.pet = Pet() // Friend

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