[swift] Swift 초기화 구문 예제

Swift에서는 초기화를 통해 인스턴스를 생성하고 속성 값을 설정할 수 있습니다. 이 문서에서는 Swift에서 초기화 구문을 사용하는 방법에 대해 예제를 통해 알아보겠습니다.

1. 기본 초기화

가장 간단한 초기화 방법은 기본 이니셜라이저를 사용하는 것입니다. 이니셜라이저는 클래스의 속성을 초기값으로 설정합니다. 다음은 Person 클래스의 기본 이니셜라이저의 예제입니다.

class Person {
    var name: String
    var age: Int

    init() {
        name = ""
        age = 0
    }
}

let person = Person()
print(person.name) // 출력: ""
print(person.age) // 출력: 0

Person 클래스는 nameage라는 두 개의 속성을 가지고 있습니다. init 메서드를 통해 nameage를 초기화합니다. 기본 이니셜라이저를 호출하여 Person 클래스의 인스턴스를 생성하면 nameage는 초기값인 빈 문자열과 0으로 설정됩니다.

2. 매개변수를 받는 초기화

init 메서드에 매개변수를 추가하여 초기화를 할 수 있습니다. 다음은 Person 클래스의 매개변수를 받는 초기화 메서드의 예제입니다.

class Person {
    var name: String
    var age: Int

    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
}

let person = Person(name: "John", age: 20)
print(person.name) // 출력: "John"
print(person.age) // 출력: 20

nameage 매개변수를 받는 init 메서드를 추가하였습니다. 초기화할 때 전달된 값으로 nameage 속성을 설정합니다. Person 클래스를 인스턴스화할 때는 이니셜라이저 호출 시 매개변수를 전달해야 합니다.

3. 옵셔널 속성 초기화

옵셔널 속성은 초기화를 통해 설정할 수 있습니다. 다음은 Person 클래스의 옵셔널 속성을 초기화하는 예제입니다.

class Person {
    var name: String?
    var age: Int?

    init() {
        name = nil
        age = nil
    }

    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
}

let person = Person()
person.name = "John"
person.age = 20
print(person.name) // 출력: Optional("John")
print(person.age) // 출력: Optional(20)

nameage 속성을 옵셔널로 선언하여 초기화 이전에는 nil 값을 가집니다. 이니셜라이저를 통해 값을 설정하거나 인스턴스 생성 후에도 값을 변경할 수 있습니다.

참고 자료