새소식

iOS/Swift

[기본문법]초기화 구문 init

  • -

초기화: 클래스 구조체 또는 열거형의 인스턴스를 사용하기 위한 준비과정(생성자 정의)

/*
 init(매개변수: 타입,...) {
    //프로퍼티 초기화
    // 인스턴스 생성시 필요한 설정을 해주는 코드 작성
 */

//클래스 선언
class User {
    var nickname: String
    var age: Int
        
    //생성자 a
    init(nickname: String, age: Int){
        self.nickname = nickname
        self.age = age
    }
    
    //생성자 b
    init(age: Int){
        self.nickname = "sue"
        self.age = age
        
    }
    
    //소멸자
    deinit{
        print("deinit user")
    }
}

//생성자 a 사용
var user = User(nickname: "harry", age: 23)
user.nickname       // "harry"
user.age            // 23

//생성자 b 사용
var user2 = User(age: 25)
user2.nickname     // "sue"
user2.age          //  25

//소멸자 사용
var user3: User? = User(age: 23)
user3 = nil //값이 없으면 인스턴스가 필요없다고 판단해 deinit호출

------------------------------
deinit user

End

'iOS > Swift' 카테고리의 다른 글

[기본문법]클래스와 구조체 비교  (0) 2022.12.14
[기본문법] 프로퍼티  (0) 2022.10.28
[기본문법] 클래스  (0) 2022.10.28
[기본문법]구조체  (0) 2022.10.28
[기본문법]옵셔널  (0) 2022.10.26
Contents

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

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