본문 바로가기
카테고리 없음

[Swift] 기초 예제 3 (프로토콜과 클래스)

by daye_ 2023. 6. 2.
//code1

 class MyComputer {
    var kindOfComputer : String
    var dateOfPurchase : String = ""
    var price : Int = 0

    init(kind:String) {
        kindOfComputer = kind
    }
    func displayComputer() -> String {
        return "\(kindOfComputer), \(dateOfPurchase), \(price)"
    }
}

var myMac : MyComputer = MyComputer(kind : "MacBook")
myMac.dateOfPurchase = "2022-04-01"
myMac.price = 100
print("information : \(myMac.displayComputer())")





//code2
protocol Device {
    var name : String {get}
    var color : String {get set}
    func buildMemoText() -> String
}

class MyComputer : Device {
    var kindOfComputer : String
    var kindOfColor : String
    
    init (_ kind : String){ //name(kindOfComter)에 세터가 없기때문에 생성자로 정의함
        kindOfComputer = kind
        kindOfColor = ""
    }
    
    var name : String {
        get {
            return kindOfComputer
        }
    }
    var color : String {
        get {
            return kindOfColor
        }
        set {
            kindOfColor = newValue
        }
    }
    func buildMemoText() -> String {
        return "\(kindOfComputer), \(kindOfColor)"
    }
}

var myMac : MyComputer  = MyComputer("MacBook") //생성시 init함수로 kindOfCompter 값 저장
myMac.color = "Gray" //세터가 있기때문에 클래스 바깥에서 정의 가능
print("information : \(myMac.buildMemoText())")