인스턴스의 클래스, 구조체, 또는 열거형을 사용하기 위해 준비하는 단계입니다. 이 단계에는 인스턴스에 각 저장된 프로퍼티에 초기값을 설정하고 새로운 인스턴스가 사용할 준비가 되기 전에 다른 설정이나 초기화를 수행하는 것
⇒ 모든 프로퍼티를 기본 값으로 초기화
⇒ 인스턴스 내 기본값이 존재하지 않는 프로퍼티가 있을 경우, 초기화에 실패하고 인스턴스는 생성되지 않는다.
프로퍼티의 선언과 동시에 값을 할당하면 그 값을 초기 값으로 사용할 수 있다.
+) 항상 초기값을 가지면 프로퍼티 선언과 동시에 초기 값을 할당하는게 좋다.
⇒ 최종 결과는 동일하지만 기본 값은 프로퍼티의 초기화를 해당 선언 시점과 더 밀접하게 연결함으로써 더 짧고 명확한 이니셜라이저를 만들 수 있고, 프로퍼티의 타입을 추론할 수 있기에 코드가 짧아진다.
struct SoptMember{
let name: String = "류희재"
let part: String = "iOS"
}
만약 값이 있을지도 없을지도 모를 경우에는 옵셔널 타입으로 설정하면 된다.
⇒ 초기화를 할때 옵셔널 타입의 프로퍼티는 자동으로 nil로 초기화
struct SoptMember{
let name: String?
let part: String?
}
초기화를 진행 하는 함수를 바로 init 함수(= 생성자) ⇒ 생성자 안에서 해당 프로퍼티들을 초기화 시킬 수 있다
이때, 초기화는 모든 프로퍼티를 초기화 해줘야 한다!
struct SoptMember{
let name: String
let part: String
init(name: String, part: String) {
self.name = name
self.part = part
}
}