[swift] 프로토콜과 구조체의 차이

프로토콜과 구조체는 Swift 프로그래밍 언어에서 중요한 개념이지만, 각각의 역할과 특징이 다릅니다. 이번 게시물에서는 프로토콜과 구조체의 주요 차이점에 대해 알아보겠습니다.

프로토콜 (Protocol)

프로토콜은 메서드, 프로퍼티 및 기타 기능의 청사진을 정의하는데 사용됩니다. 클래스, 구조체 또는 열거형은 프로토콜을 채택하여 프로토콜에서 정의한 기능을 구현할 수 있습니다. 즉, 프로토콜은 인터페이스의 역할을 하며, 여러 타입에서 공통적인 동작을 정의할 수 있습니다.

프로토콜을 정의하는 예시:

protocol Printable {
    func print()
}

구조체 (Struct)

구조체는 값 타입을 나타내며, 멤버 변수, 메서드, 초기화자 등을 포함할 수 있습니다. 구조체는 프로퍼티나 메서드를 정의하는 등의 기능을 제공하며, 구조체 인스턴스는 상수나 변수에 할당될 수 있습니다.

구조체를 정의하는 예시:

struct Person {
    var name: String
    var age: Int

    func printInfo() {
        print("Name: \(name), Age: \(age)")
    }
}

프로토콜과 구조체의 비교

프로토콜과 구조체는 Swift에서 각각의 목적과 사용 사례에 맞게 설계되었습니다. 프로토콜은 다형성 및 유연성을 제공하고, 구조체는 간단한 값 타입을 정의할 때 유용합니다. 프로토콜과 구조체를 적절하게 활용하여 Swift 언어의 장점을 최대로 발휘할 수 있습니다.