🔥 타입 별칭

304자
4분

Swift는 타입 별칭(Type Aliases)을 사용하여 기존 타입에 대한 대체 이름을 정의할 수 있게 해줍니다. 우리는 typealias 키워드를 사용하여 타입 별칭을 정의할 수 있어요.

typealias AudioSample = UInt16
swift

위의 코드는 AudioSampleUInt16의 별칭으로 정의했습니다. 우리는 이렇게 정의한 별칭을 원래 이름을 사용할 수 있는 모든 곳에서 사용할 수 있답니다.

타입 별칭은 외부 소스에서 가져온 특정 크기의 데이터를 다룰 때와 같이, 문맥상 더 적절한 이름으로 기존 타입을 참조하고 싶을 때 유용하게 사용할 수 있어요. 예를 들어, 오디오 데이터를 다루는 프로그램에서 UInt16 대신 AudioSample이라는 이름을 사용하면 코드의 가독성과 의미전달력이 훨씬 높아지겠죠?

var maxAmplitudeFound = AudioSample.min
// maxAmplitudeFound의 값은 이제 0이 됩니다.
swift

위의 코드는 AudioSample.min을 호출하여 실제로는 UInt16.min을 호출합니다. 이렇게 호출된 UInt16.minmaxAmplitudeFound 변수에 초기값 0을 제공하게 되는 거예요.

우리는 타입 별칭을 사용하여 코드의 가독성과 명확성을 크게 향상시킬 수 있습니다. 특히, 복잡한 타입을 사용할 때 타입 별칭을 활용하면 코드를 더 간결하고 이해하기 쉽게 만들 수 있어요.

typealias Coordinates = (Int, Int)
 
let location: Coordinates = (42, 73)
// location의 타입은 (Int, Int)의 별칭인 Coordinates입니다.
swift

위의 코드는 Coordinates(Int, Int) 튜플 타입의 별칭으로 정의했어요. 우리는 이렇게 정의한 별칭을 사용하여 (Int, Int) 대신 Coordinates를 사용할 수 있게 되었고, 이는 코드의 의미를 훨씬 더 명확하게 만들어 줍니다.

타입 별칭은 또한 복잡한 제네릭 타입이나 중첩된 타입을 간단한 이름으로 참조할 수 있게 해줘요.

typealias StringDictionary<Value> = Dictionary<String, Value>
 
var dictionary: StringDictionary<Int> = ["A": 1, "B": 2]
// dictionary의 타입은 Dictionary<String, Int>의 별칭인 StringDictionary<Int>입니다.
swift

위의 코드는 StringDictionaryDictionary<String, Value>의 별칭으로 정의했습니다. 우리는 이렇게 정의한 별칭을 사용하여 Dictionary<String, Int> 대신 StringDictionary<Int>를 사용할 수 있게 되었어요. 이는 코드를 더 간결하고 가독성 좋게 만들어 준답니다.

타입 별칭은 Swift 코드에서 널리 사용되는 강력한 기능이에요. 우리는 적절한 타입 별칭을 사용하여 코드의 의미를 명확하게 전달하고, 복잡한 타입을 간단한 이름으로 참조할 수 있게 됩니다. 이는 코드의 가독성과 유지보수성을 크게 향상시켜 준답니다. 여러분도 타입 별칭을 적극 활용하여 더 나은 Swift 코드를 작성해 보세요!