[swift] Swift 제네릭 타입의 초기화 메서드

Swift에서는 제네릭 타입을 사용하여 재사용 가능한 코드를 작성할 수 있습니다. 제네릭은 다양한 타입의 값을 처리하는 일반적인 함수나 타입을 만들 때 유용하게 사용됩니다. 제네릭을 사용하여 초기화 메서드를 작성하는 방법을 알아보겠습니다.

제네릭 타입 정의하기

제네릭 타입을 정의하기 위해서는 타입 매개변수를 사용해야 합니다. 타입 매개변수는 <> 안에 선언되며, 타입의 이름으로 사용됩니다. 예를 들어, 다음과 같이 제네릭 타입 Stack을 정의할 수 있습니다.

struct Stack<Element> {
    var items = [Element]()
    
    mutating func push(_ item: Element) {
        items.append(item)
    }
    
    mutating func pop() -> Element? {
        guard !items.isEmpty else {
            return nil
        }
        return items.removeLast()
    }
}

위의 코드에서 Element는 타입 매개변수로 사용되며, items 배열의 요소의 타입을 나타냅니다. push 메서드는 Element 타입의 아이템을 스택에 추가하고, pop 메서드는 스택에서 가장 위에 있는 아이템을 제거하고 반환합니다.

제네릭 타입 초기화

제네릭 타입을 초기화하는 방법은 일반적인 타입 초기화와 비슷합니다. 그러나 제네릭 타입을 초기화할 때는 타입 매개변수에 실제 타입을 지정해야 합니다. 예를 들어, 위에서 정의한 Stack 타입을 초기화하는 코드는 다음과 같습니다.

var stack = Stack<Int>()
stack.push(1)
stack.push(2)
stack.push(3)

위의 코드에서는 Stack<Int>를 사용하여 stack이라는 변수를 초기화하고, push 메서드를 사용하여 1, 2, 3을 스택에 추가하고 있습니다.

요약

Swift에서 제네릭 타입의 초기화 메서드를 작성하는 방법에 대해 알아보았습니다. 제네릭을 사용하면 다양한 타입에 대해 일반적인 코드를 작성할 수 있으므로 재사용성을 높일 수 있습니다. 제네릭 타입을 정의하고 초기화하는 과정에 대한 이해는 Swift 언어를 사용하는 개발자에게 유용한 지식입니다.

참고 자료