초기화는 클래스, 구조체, 열거형 인스턴스를 사용하기 위해 준비 작업을 하는 단계
deinitializer
: 여러 값과 자원의 해지를 위한 것init() {
// perform some initialization here
}
보통 인자레이블이 항상 있는데 인자레이블을 생략하는 경우가 있다. 그런 경우 _ 을 통해서 생략하면 된다.
struct Celsius {
var temperatureInCelsius: Double
init(fromFahrenheit fahrenheit: Double) {
temperatureInCelsius = (fahrenheit - 32.0) / 1.8
}
init(fromKelvin kelvin: Double) {
temperatureInCelsius = kelvin - 273.15
}
init(_ celsius: Double) {
temperatureInCelsius = celsius
}
}
let bodyTemperature = Celsius(37.0)
// bodyTemperature.temperatureInCelsius is 37.0
let bodyTemperature = Celsius(37.0)
코드와 같이 인자 레이블 없이 Celsius 인스턴스를 초기화 할 수 있습니다.