프로퍼티 래퍼 변수들을 가진 클래스 를 Codable 하게 만들어 주는 과정에서 required init() 를 사용하는 부분이 있길래 따로 정리해봅니다. 제가 이해하기론 이 놈은 선언된 그 클래스에선 사실상 init() 과 같은 역할을 하고 이 클래스를 상속받는 서브클래스에 영향을 미치는 겁니다.
그러니까 상위 클래스에 required init() 이 정의되어 있다면, 이 내용을 하위클래스에서 반드시 구현해 주어야 합니다. 헤깔리는 부분이 있다면 반드시 구현해주어야 하는데 생략이 가능할 때가 있다는 부분이었습니다.
그렇다면 반드시 구현해주는걸 원칙으로 하고 자동으로 상속되어 생략이 가능한 조건만 확인하면 무난할 것 같네요. 여기서 자동 상속은 swift init 의 기본적인 특성으로 required init()에 한정된 이야기는 아닙니다.
그냥 init()의 기본적인 자동 상속 특성도 한번 짚고 넘어간다고 생각하시면 될 것 같습니다. 이니셜라이저는 굉장히 중요한 개념이니 나중에 따...
원문 링크 : [Swift] required init()