초기화 해제 구문은 클래스 인스턴스가 할당 해제되기 전에 즉시 호출된다. 초기화 구문은 init 키워드로 작성하는 것과 유사하게 초기화 해제는 deinit 키워드로 작성한다. 이는 클래스 타입에서만 사용한다.
deinit {
//작동 동작 정의
}
// 다음과 같이 deinit키워드를 통해서 초기화 해제 구문을 정의할 수 있다.
class Player {
var coinsInPurse : Int
init(coins : Int) {
coinsInPurse = Bank.distribute(coins: coins)
}
func win(coins : Int) {
coinsInPurse += Bank.distribute(coins : coins)
}
deinit {
Bank.receive(coins : coinsInPurse)
}
}
//다음과 같이 클래스의 초기화 해제시의 동작을 메서드로 표현해서 명시할 수 잇따.