Struct Pet
struct Pet {
init(){
print("Pet이 생성되었다.")
}
}
일반
Struct Friend
class, struct 동일하게 적용됨.
struct Friend {
var name: String
// 펫을 맴버 변수로 가진다.
var pet : Pet = Pet()
// 생성자 메소드
init(_ name: String) {
self.name = name
print("Friend가 생성됨")
}
}
Friend 호출
var myFriend = Friend("만쥬")
print("myFriend : \(myFriend.name)")
// myFriend : 만쥬
결과
Pet이 생성되었다.
Friend가 생성됨
myFriend : 만쥬
lazy
Struct Pet
struct Friend {
var name: String
// 펫을 맴버 변수로 가진다.
// lazy 키워드를 사용하면 인스턴스 생성이 바로 안된다.
lazy var pet : Pet = Pet()
// 생성자 메소드
init(_ name: String) {
self.name = name
print("Friend가 생성됨")
}
}
Freind 호출
var myFriend = Friend("만쥬")
print("myFriend : \(myFriend.name)")
// myFriend : 만쥬
// lazy 키워드가 있을때는 나중에 직접 생성 해줘야 생성된다.
myFriend.pet = Pet()
결과
Friend가 생성됨
myFriend : 만쥬
Pet이 생성되었다.
반응형