생성자 재정의
-
Swift - Initializer - Inheritance, OverridingProgramming/Swift 2021. 12. 11. 20:19
안녕하세요 BeePeach입니다 :) 오늘 공부해볼 주제는 Init의 상속(Ingeritance)과 재정의(Override)입니다. Class는 상속과 재정의를 제공하죠?? 그럼 init은 상속이 가능한지? 가능하다면 언제 가능한지?, init도 override가 가능한지에 대해서 공부해보도록 하겠습니다. Swift에서는 기본적으로 init은 상속이 불가능합니다. 왜 그런지는 잠깐 생각해보면 알 수 있습니다. Superclass의 init이 그대로 상속이 된다면 만약 기본값이 없는 subclass에 정의된 프로퍼티는 초기화가 완벽하게 이루어지지 않은 채로 인스턴스가 생성되게 되겠죠??? 이러한 이유로 기본적으로는 init의 상속은 제한되어 있습니다. 그리고 이 말을 다시 뒤집어 생각하면 위 상황만 없다면..