[Swift] Initialization 실습
·
Swift/개념 & 응용
선행 포스팅 이번 포스팅은 초기화(Initialization)을 실습하는 내용입니다. Initialization 문서가 너무 길더군요... 문장도 어렵고 내용도 많다보니 최근 포스팅 중 가장 힘들었습니다 ㅎㅎ; 말로만 이해하기엔 붕 뜨는 개념이 있어 실습하면서 이해하기로 했습니다. let 초기화 저는 지금까지 let은 반드시 선언과 동시에 초기화를 해줘야 한다고 생각했습니다. 근데 init() 안에서 초기화를 해줘도 되더라고요.. 너무 당연히 안 될 거라고 생각했는데 세상에 "당연히"라는 것은 없다는 것을 또 한 번 느꼈습니다. class Human { let name: String init(name: String) { self.name = name } } var human: Human = Human(n..
[Swift] 공식 문서 - 초기화(Initialization)
·
Swift/Swift 가이드
새로 배운 점 상수 프로퍼티는 이니셜라이저 안에서도 초기화할 수 있다. 구조체의 기본 이니셜라이저가 Memberwise Initializers라는 이름이라는 것 designated 이니셜라이저는 해당 클래스가 직접 상속받는 슈퍼클래스의 designated 이니셜라이저를 호출해야 한다. convenience 이니셜라이저는 같은 클래스의 다른 이니셜라이저만 호출해야 한다. convenience 이니셜라이저는 궁극적으로 designated 이니셜라이저를 호출해야 한다. Swift의 컴파일러는 2단계 초기화를 에러 없이 완료하기 위해 4가지 safety-check를 수행한다. 서브클래스에서 새로 추가한 모든 프로퍼티에 기본값이 지정되면, 두 가지 규칙이 적용된다. 만약 서브클래스가 어떠한 designated 이..
유정주