Convenience Init

초기화 (Initialization)


1. 초기화 Initialization

초기화는 클래스, 구조체, 열거형 인스턴스를 사용하기 위해 준비 작업을 하는 단계

기본 형식

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 인스턴스를 초기화 할 수 있습니다.

옵셔널 프로퍼티 타입