[swift] 제네릭 문법

제네릭은 스위프트에서 강력하고 유연한 타입 시스템을 만드는 데 사용되는 중요한 기능 중 하나입니다. 제네릭을 사용하면 다양한 타입에 대해 재사용 가능한 코드를 작성할 수 있습니다.

제네릭이란?

제네릭(Generic)은 일반적으로 형식 매개변수로 정의되는 타입 또는 함수를 뜻합니다. 이를 통해 코드를 작성할 때 실제로 사용될 타입을 지정하지 않고, 재사용 가능한 범용 코드를 작성할 수 있습니다.

제네릭을 사용하는 이유

제네릭을 사용하면 여러 가지 타입에 대해 동일한 코드를 사용할 수 있으므로 코드의 재사용성이 높아집니다. 또한, 컴파일러가 타입을 검증하므로 타입 안정성이 보장됩니다.

제네릭 문법

스위프트에서 제네릭은 <> 기호를 사용하여 정의됩니다. 제네릭을 사용하는 방법은 아래와 같습니다.

func 함수이름<제네릭이름>(매개변수: 제네릭타입) {
    // 코드 작성
}

이와 같이 함수나 구조체, 열거형 등에서 제네릭을 사용할 수 있습니다.

예시

제네릭을 사용하여 스택(Stack)을 구현하는 예시를 살펴봅시다.

struct Stack<Elements> {
    var items = [Elements]()
    
    mutating func push(item: Elements) {
        items.append(item)
    }
    
    mutating func pop() -> Elements {
        return items.removeLast()
    }
}

위 예시에서 Elements는 제네릭 타입으로 사용되며, 이 스택은 다양한 타입의 아이템을 저장할 수 있게 됩니다.

제네릭을 사용하면 다양한 타입에 대해 유연하고 재사용 가능한 코드를 작성할 수 있습니다. 제네릭을 활용하여 스위프트의 강력한 타입 시스템을 최대한 활용해 보세요.


참고 문헌: