[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
클래스는 name
과 age
라는 두 개의 속성을 가지고 있습니다. init
메서드를 통해 name
과 age
를 초기화합니다. 기본 이니셜라이저를 호출하여 Person
클래스의 인스턴스를 생성하면 name
과 age
는 초기값인 빈 문자열과 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
name
과 age
매개변수를 받는 init
메서드를 추가하였습니다. 초기화할 때 전달된 값으로 name
과 age
속성을 설정합니다. 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)
name
과 age
속성을 옵셔널로 선언하여 초기화 이전에는 nil
값을 가집니다. 이니셜라이저를 통해 값을 설정하거나 인스턴스 생성 후에도 값을 변경할 수 있습니다.