struct기본생성자

작성일

struct기본생성자

// struct는 클래스와 달리 생성자메소드가 자동탑제되어 있다.
struct Youtuber {
    var name: String
}

let youtuber = Youtuber(name: "정대리")
print(youtuber) // Youtuber(name: "정대리")

// 생성자를 안에서 다로 지정 가능하지만
struct Friend {
    var name: String
    init(){
        name = "철수"
    }
}

let myFriend = Friend()
print(myFriend) // Friend(name: "철수")

// 아래와 같이 extension으로 빼서 기본 생성자 지정이 가능하다.
struct Pet {
    var name: String
}

extension Pet {
    init() {
        name = "야옹이"
    }
}
let myPet = Pet()
print(myPet) // Pet(name: "야옹이")

let myCat = Pet(name: "개냥이")
print(myCat) // Pet(name: "개냥이")

출력

Youtuber(name: "정대리")
Friend(name: "철수")
Pet(name: "야옹이")
Pet(name: "개냥이")