본문 바로가기

swift 초기화

(2)
[Swift] 자동, 지정, 편의 초기화(in class). 연쇄 호출 관계 뿌수기!! 초기자 연쇄 호출 관계 부수기! About_Designated Initializer Automatic initializer inheritance About Convenience Initializer 호출 규칙(지정 초기자와 편의 초기자) 클래스와 초기화에 대한 개념이 가물~가물 하다면?! -> 클래스와 초기화 글 다시보기 About Designated Initializer(지정 초기화) 지정 초기화는 기본 초기화입니다. 옵셔널 타입이 아닌 저장 프로퍼티를 전부 초기화 시켜 주어야 한다. else error ( 또한 super클래스의 초기화 메서드도 호출 해주어서 초기화 체인을 이룰 수 있도록 하는 초기화입니다) init(parameters) { statements } 따라서 클래스는 반드시 한개 이상의 ..
[Swift] class 초기화. 왜 super.init()을 쓰는가? (오버로딩, 오버라이딩) 왜 super.init()을 쓰는가? 클래스와 초기화(Initialization) 상속받는 클래스의 경우 오버라이딩(Override)과 오버로딩(Overloading) 클래스와 초기화(Initialization) Swift는 클래스에서 저장 프로퍼티를 자동적으로 초기화 해주지 않는다. 멤버와이즈 초기화 메서드를 지원해주는 구조체와 달리 개발자가 직접 명시적인 초기화를 통해 클래스 내 존재하는 모든 저장 프로퍼티들의 값을 넣어주어야 한다. /** * x = 변수 선언과 동시에 값 할당 * y = init()을 통해 초기화 */ class point { var x : Int = 0 var y : Int init() { y = 0 } } 이 외에는 옵셔널 타입으로 만들면 초기화를 하지 않아도 자동으로 nil타..