본문 바로가기

Swift

Swift - class VS struct

struct 

struct YoutuberStruct {
    var name : String
    var subscriberCount : Int
}

var devJeong = YoutuberStruct(name: "김대리", subscriberCount: 99999)

var devJeongClone = devJeong // 출력값> 김대리,99999

//복사된값을 변경한것 원래값은 바뀌지 않는다
//devJeong.name 은 김대리 그대로
devJeongClone.name = "호롤롤로" //출력값> 이름: 호롤롤로
devJeong.name

 

class

class YoutuberClass {
    var name : String
    var subscribersCount : Int
    // init 으로 매개변수를 가진 생성자 메소드를 만들어야
    // 인자 값을 넣어 그값으 가진 객체(object)를 만든다
    // class 내의 객체에 외부에서 받아온 인자 값을 넣는다
    init(name: String, subscribersCount: Int){
        self.name = name
        self.subscribersCount = subscribersCount
    }
}

var jeongDaeRi = YoutuberClass(name: "정대리", subscribersCount: 999999)

var jeongDaeRiClone = jeongDaeRi
jeongDaeRiClone.name = "김대리"

// class 는 원래 값도 바뀜, 연결되어있다
//jeongDaeRi.name 의 출력값은 김대리로 바뀜
//한 메모리를 참조하고 있기때문

 

 

'Swift' 카테고리의 다른 글

Swift - 함수 매개변수 이름  (0) 2022.06.19
Swift - 프로퍼티 옵저버  (0) 2022.06.19
Swift - Unwrap 옵셔널 변수  (0) 2022.06.10
Swift - enum 열거형  (0) 2022.06.10
Swift - 반복문  (0) 2022.06.10