[swift] Swift 초기화 메서드에서의 초기값 할당

Swift에서는 클래스나 구조체를 초기화할 때 초기값을 할당하는 초기화 메서드를 사용할 수 있습니다. 이번 포스트에서는 Swift에서 초기화 메서드에서 초기값을 할당하는 방법에 대해 알아보겠습니다.

기본 초기화 메서드

Swift에서는 모든 클래스와 구조체에 대해 기본적으로 초기화 메서드를 제공합니다. 이 초기화 메서드는 인스턴스 변수들을 초기화하고 기본값을 할당하는 역할을 합니다. 기본 초기화 메서드는 아래와 같이 작성됩니다.

init() {
    // 인스턴스 변수 초기화
    // 초기값 할당
}

초기값 할당하기

초기화 메서드에서 초기값을 할당하는 방법은 다양합니다.

1. 직접 초기값 할당

가장 간단한 방법은 초기화 메서드에서 직접 초기값을 할당하는 것입니다. 이 경우, 아래와 같이 인스턴스 변수에 초기값을 할당할 수 있습니다.

init() {
    self.property = initialValue
}

2. 다른 초기화 메서드를 호출하여 초기값 할당

다른 초기화 메서드를 호출하여 초기값을 할당하는 방법도 있습니다. 이 때, 다른 초기화 메서드에서 초기값을 설정하고 호출하는 방식입니다. 예를 들어, 아래와 같이 다른 초기화 메서드를 호출하여 초기값을 할당할 수 있습니다.

init(value: Int) {
    self.property = value
}

init() {
    self.init(value: 0)
}

예제

아래는 초기화 메서드에서 초기값을 할당하는 예제입니다.

class Person {
    var name: String
    var age: Int
    
    init() {
        self.name = "Unknown"
        self.age = 0
    }
    
    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
}

위의 예제에서 Person 클래스는 기본 초기화 메서드와 인자를 받는 초기화 메서드 두 가지를 가지고 있습니다. 기본 초기화 메서드에서는 name 변수를 “Unknown”으로, age 변수를 0으로 초기화하고, 인자를 받는 초기화 메서드에서는 인자로 받은 값을 바로 할당합니다.

이제 아래와 같이 해당 클래스를 사용하여 인스턴스를 생성할 수 있습니다.

let person1 = Person() // 기본값으로 초기화
let person2 = Person(name: "John", age: 20) // 인자를 받아 초기화

결론

Swift에서 초기화 메서드를 사용하여 클래스나 구조체를 초기화할 때 초기값을 할당할 수 있습니다. 직접 초기값을 할당하거나 다른 초기화 메서드를 호출하여 초기값을 할당하는 방법을 사용할 수 있습니다. 초기값 할당은 객체를 초기화하는 중요한 단계이며, 각 상황에 따라 적절한 방법을 선택하여 사용해야 합니다.

참고 자료