[Swift 문법] protocol

minji0801·2022년 5월 3일
0

Swift 문법

목록 보기
2/7
post-thumbnail

프로토콜은 통신 규약을 뜻하는데.. 대체 뭐지? 싶을 거다. 쉽게 말하자면 지켜야 할 약속이다. 코딩에서는 구현되어야 할 메서드나 프로퍼티의 목록인 셈이다. 어... 그래도 모르겠어요.. 싶을 수 있으니! 코드로 살펴보자.

protocol Naming {
    var name: String { get set }
    func getName() -> String
}

위의 프로토콜이 있다고 했을 때 다음과 같이 말하는 셈이다.

안녕! 나는 Naming이라는 프로토콜이야. 나는 String 타입의 name 변수를 갖고 있는데, 값을 가져오고 설정할 수 있어. 그리고 또 나는 getName이라는 메서드를 갖고 있는데, String 값을 반환해!

그럼 Naming 프로토콜을 사용해 보자.

엇.. 에러가 뜨는데요.. 정말 당연한 거다. Naming 프로토콜은 name 변수와 getName 메서드를 가지고 있는데 적어주질 않았으니 적어달라는 것이다. fix를 눌러보면 이렇게 자동으로 추가된다.

그럼 마저 getName 함수를 정의하고 호출해 봤다. 오 제대로 실행된다.


다시 정리하자면, 프로토콜은 "나를 사용하려면 내가 갖고 있는 프로퍼티나 메서드를 반드시 사용해야 해!"라고 말하는 것이다.

💙 참고
https://youtu.be/ZBqbuQzmN4o

profile
iOS Developer

0개의 댓글