프로토콜 옵셔널

작성일

프로토콜 옵셔널

// 펫 관련 프로토콜
protocol PetDelegate {
    func sayHello()
    func saySomething()
}

// 프로토콜 익스텐션을 통해 메소드를 옵셔널로 설정할 수 있다.
// 즉, 준수하지 않아도 된다.
extension PetDelegate {
    func saySomething() {
        
    }
}

// 펫 델리게이트를 준수하는 펫 클래스
// saySomethingdms 옵셔널이라서 컴파일 에러가 안난다.
class Pet: PetDelegate {
    func sayHello() {
        print("야옹~")
    }
}