swift
swift - Initializer and Deinitializer #6 (Deintializer)
행복하게사는게꿈
2021. 1. 12. 16:26
// 소멸자
// 인스턴스가 메모리에서 제거되기 전에 부가적인 정리작업을 구현하기 위해 사용
// 리소스 정리 코드를 작성
// class 전용 코드
// deinit은 하나만 구현가능
// 자동으로 메모리에서 없어질때 호출된다.
class Size {
var width = 0.0
var height = 0.0
}
class Position {
var x = 0.0
var y = 0.0
}
class Rect {
var origin = Position()
var size = Size()
deinit {
print("deinit \(self)")
}
}
var r: Rect? = Rect()
// 메모리에 있던 rect 인스턴스 정보가 제거된다.
r = nil
// 파일연결이나 네트워크 연결처럼 자동으로 제거되지 않는 부분에서 구현한다.