🔥 소개

172자
3분

프로그래밍을 하다 보면 여러 타입에 대해 동작하는 코드를 작성해야 할 때가 있습니다. 예를 들어, 정수 배열, 문자열 배열, 사용자 정의 타입의 배열 등을 다루는 경우가 그렇죠. 이런 상황에서 매번 비슷한 코드를 반복해서 작성한다면 코드의 중복이 발생하고 가독성과 유지보수성이 떨어질 것입니다.

이럴 때 우리는 제네릭(Generics) 을 사용할 수 있습니다. 제네릭은 Swift의 가장 강력한 기능 중 하나로, 타입에 구애받지 않고 유연하고 재사용 가능한 함수와 타입을 작성할 수 있게 해줍니다. 제네릭을 이용하면 코드의 중복을 피하고, 추상화된 방식으로 코드의 의도를 명확히 표현할 수 있게 됩니다.

사실 여러분은 이미 제네릭을 사용하고 있었을지도 모릅니다. Swift 표준 라이브러리의 상당 부분이 제네릭으로 구성되어 있기 때문이죠. 예를 들어, ArrayDictionary는 모두 제네릭 컬렉션입니다. Int 값을 저장하는 배열, String 값을 저장하는 배열 등 어떤 타입의 값이라도 배열에 담을 수 있습니다. 마찬가지로 딕셔너리도 지정된 어떤 타입이든 값으로 저장할 수 있죠.

이번 장에서는 이러한 제네릭의 개념과 사용 방법에 대해 자세히 알아보도록 하겠습니다. 제네릭 함수와 제네릭 타입을 정의하는 방법, 제네릭에 제약 조건을 추가하는 법 등을 차근차근 살펴볼 것입니다. 제네릭을 잘 활용한다면 더욱 유연하고 표현력 있는 코드를 작성할 수 있을 것입니다. 그럼 시작해 볼까요?