Notice
Recent Posts
Recent Comments
Link
大器晩成
구조체/클래스의 생성자/소멸자 비교 본문
이니셜라이저(Initializers)
구분 | 구조체(Struct) | 클래스(Class) |
1) 지정 생성자 (Designated) |
init( ) { } •모든 저장속성에 기본값(or옵셔널) 설정으로 생성자 구현 안할시, 기본 생성자 기본제공, •만약 생성자를 구현 안할 시에는 Memberwise생성자를 기본제공 init(파라미터) { } |
init( ) { } •모든 저장속성에 기본값(or옵셔널) 설정으로 생성자 구현 안할시, 기본 생성자 기본제공 init(파라미터) { } |
2) 편의 생성자 (Convenience) |
X | convenience init(파라미터) { } (상속과 관련) |
3) 필수 생성자 (Required) |
X | required init(파라미터) { } (상속과 관련) |
4) 실패가능 생성자 (Failable) |
init?(파라미터) { } init!(파라미터) { } |
init?(파라미터) { } init!(파라미터) { } |
5) 소멸자 (Deinitializers) |
X | deinit { } |
- 편의생성자는 반드시 지정생성자를 호출해야 합니다.
- 필수 생성자는 하위 클래스에서 반드시 구현해야 합니다.(자동상속이 되는 경우가 있음)
- 소멸자는 메모리에서 제거될 때 자동으로 호출되는 메서드입니다.
728x90
'iOS > Swift 문법' 카테고리의 다른 글
타입캐스팅 (as, type cast operator) (0) | 2024.12.19 |
---|---|
타입캐스팅(Type Casting) (0) | 2024.12.19 |
초기화 해제 (소멸자, Deinitializer) (0) | 2024.12.06 |
실패가능 생성자(Failable Initializers) (0) | 2024.12.06 |
필수생성자(Required Initializers) (0) | 2024.12.06 |