[Swift] typealias : 타입별명 만들어 주기

코르피·2022년 6월 19일
0
post-thumbnail

📖typealias란?

기존의 스위프트의 타입에는 Int, String, Float 등 여러가지로 다양하다.
그런데 가끔 타입으로만 적혀있으면 이해하기 힘들 때가 있다. 🤔

프로그래머스의 주차요금 계산 을 풀면서 있었던 일인데

var parkingLot: [Int : String] = [:] // 주차장
var parkingReceipt: [Int : String] = [:] // 요금 영수증 Dict

이렇게 주차장을 나타내는 주차장 딕셔너리와 주차 요금을 저장해두는 요금영수증 딕셔너리를 생성했는데 모두 [Int : String]형태로 표현이 되니 가독성이 떨어진다고 생각했다.

그래서 이전에 어렴풋이 알고 있었던 typealias를 사용했다.

typealias는 타입에 별명을 붙여주어서 이해하기 쉽도록 가독성을 높여주는 것인데

예를들어 사람의 이름을 붙여준다면

var ironMan : String = "Tony"
var ironMan : Name = "Tony"

첫번째처럼 String타입을 정해주는 것보다 타입에 별명을 붙여서 Name으로 타입을 붙여주는것이 더 가독성이 좋아질 것이다.

  • 💡사용방법

사용 방법은 간단하다.

typealias Name = String

이렇게 typealias에 별명을 입력하고 별명의 타입을 적어주기만 하면된다.
그러면 위처럼 Name 별명을 사용한 타입을 붙여줄 수 있다.

또 사용자 정의 타입에 대해 별명을 붙여줄 수 있는데

class Cookie {
}

typealias cookies = [Cookie]

var snack: cookies = []

이렇게 사용자 정의 배열타입을 가진 별명도 만들 수 있다.

  • typealias를 사용해서 가독성을 높인 코드
typealias CarNumber = Int
typealias Time = String
typealias TotalTime = Int

var parkingLot: [CarNumber : Time] = [:] // 주차장
var parkingReceipt: [CarNumber : TotalTime] = [:] // 요금 영수증 Dict

typealias를 써서 훨씬 가독성이 높아진 모습이다 👍

profile
행복합시다!!

0개의 댓글