문법 (13) 생성자와 소멸자 (init, deinit)
Swift에서 생성자와 소멸자 (init, deinit)의 개념과 활용법을 설명합니다.
문법 (13) 생성자와 소멸자 (init, deinit)
생성자와 소멸자 (init, deinit)
Swift에서 생성자(Initializer, init) 는 인스턴스를 생성하는 특별한 메서드이며,
소멸자(Deinitializer, deinit) 는 인스턴스가 메모리에서 해제될 때 실행됩니다.
1. 기본 생성자 (Initializer)
1
2
3
4
5
6
7
8
9
10
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let user = Person(name: "Alice")
print(user.name) // Alice
2. 편의 생성자 (convenience)
1
2
3
4
5
6
7
8
9
10
11
12
13
class Rectangle {
var width: Double
var height: Double
init(width: Double, height: Double) {
self.width = width
self.height = height
}
convenience init(squareSide: Double) {
self.init(width: squareSide, height: squareSide)
}
}
3. 소멸자 (deinit)
클래스에서만 사용되며, 객체가 해제될 때 호출됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
class FileHandler {
init() {
print("파일을 엽니다.")
}
deinit {
print("파일을 닫습니다.")
}
}
var handler: FileHandler? = FileHandler()
handler = nil // "파일을 닫습니다." 출력
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.