Initialization - The Swift Programming Language (Swift 5.6)

Initialization은 인스턴스의 클래스, 구조체, 또는 열거형을 사용하기 위해 준비하는 단계.

이 단계에는 인스턴스에 저장된 프로퍼티에 초기값을 설정하고 새로운 인스턴스가 사용할 준비가 되기 전에 다른 설정이나 초기화를 수행하는 것을 포함


저장된 프로퍼티에 초기값 설정(Setting Initial Values for Stored Properties)

클래스와 구조체는 해당 클래스 또는 구조체의 인스턴스가 생성될 때까지 모든 저장된 프로퍼티에 적절한 초기값을 반드시 설정해야함.

저장된 프로퍼티는 확장되지 않은 상태로 남아 있을 수 없음.

초기화 구문 내에서 저장된 프로퍼티에 초기값을 설정하거나 프로퍼티의 정의 부분으로 기본 프로퍼티 값을 할당할 수 있음.

저장된 프로퍼티에 기본값을 할당하거나 촏기화 구문 내에서 초기값을 설정할 때 해당 프로퍼티의 값은 모든 프로퍼티 관찰자 호출 없이 직접 설정됨.

초기화 구문(Initializers)

Initializers는 특정 타입의 새로운 인스턴스를 생성하기 위해 호출됨.

가장 간단한 형식의 초기화 구문은 init 키워드를 사용하여 작성하며 파라미터가 없는 인스턴스 메서드와 같음.

init() {
	// perform some initialization here
}
struct Fahrenheit {
	var temperature: Double
	init() {
			temperature = 32.0
	}
}

var fahrenheit = Fahrenheit()
print("The default temperature is \\(fahrenheit.temperature)° Fahrenheit")
// Prints "The default temperature is 32.0° Fahrenheit"