[swift] 클래스의 프로토콜 구현 방법

Swift에서 프로토콜은 인터페이스와 유사하게 동작하며, 클래스의 특정 기능을 명시하기 위해 사용됩니다. 이번 블로그에서는 Swift에서 클래스의 프로토콜을 구현하는 방법에 대해 알아보겠습니다.

프로토콜 구현하기

Swift 클래스에서 프로토콜을 구현하는 방법은 간단합니다. 클래스 정의 시에 콜론(:)을 사용하여 프로토콜 목록을 나열하고, 해당 프로토콜의 요구사항을 충족하는 메서드, 프로퍼티, 서브스크립트 등을 구현하면 됩니다.

아래는 SomeProtocol 프로토콜을 구현하는 SomeClass 클래스의 예시입니다.

protocol SomeProtocol {
    func doSomething()
}

class SomeClass: SomeProtocol {
    func doSomething() {
        // do something
    }
}

SomeClass 클래스가 SomeProtocol을 구현하기 위해 doSomething() 메서드를 구현했습니다. 이제 SomeClass의 인스턴스는 SomeProtocol을 준수하는 인스턴스로 간주될 수 있습니다.

선택적 요구사항 구현하기

프로토콜 내의 메서드 중 일부를 선택적으로 구현하고 싶을 때에는 @objcoptional 키워드를 사용하여 명시적으로 선택적 요구사항임을 표시해야 합니다. 이 경우 클래스는 NSObject를 상속받아야 합니다.

아래는 필수 메서드와 선택적 메서드를 가지는 프로토콜을 구현하는 클래스의 예시입니다.

@objc protocol SomeProtocol {
    func doSomethingRequired()
    @objc optional func doSomethingOptional()
}

class SomeClass: NSObject, SomeProtocol {
    func doSomethingRequired() {
        // required implementation
    }
    // doSomethingOptional은 선택적으로 구현
}

정리

Swift에서 클래스의 프로토콜을 구현하는 방법에 대해 알아보았습니다. 클래스에서 프로토콜을 구현함으로써 코드 구조를 보다 잘 구성하고 재사용성을 향상시킬 수 있습니다.

프로토콜 구현에 대해 자세히 알고 싶다면 공식 Swift 문서를 참고하세요.


참고 문헌: