Swift 기초부터 차근차근! (5)

Burkey·2022년 1월 21일
0

차근차근 Swift

목록 보기
5/15

오늘은 프로토콜에 대해 정리해 볼 예정입니다.

저는 프로토콜이란 이름을 통신규약을 배울 때 처음 접하였는데 swift에서는 따로 정의해서 사용하는 것이 신기하였습니다.

swift 공식 사이트에서 설명하기로는 '특정 기능 수행에 필요한 필수적인 요소들을 청의한 청사진'이라고 나와있습니다.

위에서 보이는 것 처럼 프로토콜이란 용어를 사용하는 곳에서 보면 약속?이란 뜻으로 거의 쓰이는 듯 하더라고요.

protocol Person {
    var sex : String {get}
    var age : Int {get set}
}


struct human1 : Person {
    var sex: String ;
    var age : Int;
    var name : String;
}

protocol을 선언할 때 변수는 항상 var를 이용해서 사용해 줘야하고 getter와 setter을 명시 해 줘야 합니다.

위에서는 struct를 사용하였지만 class에서도 사용할 수 있고

protocol one {
    var sex : String {get set}
}

protocol two {
    var age : Int {get}
}


class human1 : one, two {
    var sex: String = "1";
    var age : Int = 2;
    var name : String = "3";
}

여러개의 프로토콜을 사용할 수 있습니다.

메소드도 protocol로 지정할 수 있습니다.

protocol Person {
    var sex : String {get set}
    
    func introduce()
    
    func introduceName(first : String) -> String
}

class human1 : Person{
    var sex: String = "1";
    var age : Int = 2;
    var name : String = "dong";
    
    func introduce() {
        print("introduce myself")
    }
    
    func introduceName(first : String) -> String {
        return "\(first) \(self.name)";
    }
}

var Me = human1();

Me.introduceName(first: "kim");//kim dong

protocol에서 정의한 메소드는 리턴 값과 파라미터까지 모두 정의 할 수 있습니다.

이처럼 오늘은 protocol에 대하여 알아봤습니다.
다음부터는 실전으로 ㄲ!

profile
스탯 올리는 중

0개의 댓글