새소식

iOS/질문으로 접근하는 CS문제

Convenience init에 대해 설명하시오.

  • -

Swift에서의 초기화 설정 방법은 기본적으로 Designated init으로 이루어진다.

class Person { var name: String var age: Int var gender: String init(name: String, age: Int, gender: String) { self.name = name self.age = age self.gender = gender } }

하지만, 위와 같은 코드가 있을 때 gender는 초기화를 시키고 싶지 않다거나 age는 나중에 따로 주고 싶다거나 하는 상황이 발생할 것이다.

이럴 때 바로 Convenience init을 사용한다.

 

class Person { var name: String var age: Int var gender: String init(name: String, age: Int, gender: String) { self.name = name self.age = age self.gender = gender } convenience init(age: Int, gender: String) { self.init(name: "초기화", age: age, gender: "성별") } }

이와 같이 Convenience init을 활용해서 미리 지정된 값으로 초기화가 가능하다. 또한, Convenience init에는 Desinated init과 달리 모든 값이 들어갈 필요가 없다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.