1. 타입 별칭 (Type Aliases)

이미 존재하는 타입을 다른 이름으로 정의한다! 근데 솔직히 이걸 만났을 때… 굳이 왜? 이걸 써야되지 라는 의문감이 들었다. 공식문서에는 “외부 소스에서 특정 크기의 데이터로 작업할 때와 같이 상황에 맞는 이름으로 기존 타입을 참조하려는 경우에 유용하다”라고 나와있는데.. 하나도 안 유용해보였다.

1-1. type aliases 사용법

typelias 바꿀 타입명 = 기존 타입명

typelias Love = String
let love: Love = "사랑해❤️"

유저가 정의한 class, struct, enum에 typealias를 사용할 수 있다.

왠지 이렇게 사용하면 좋을거 같긴합니당~

class Person{
    
}

var people: Array<Person> = []

typealias Peaple = Array<Person>
var people2: People = []

2. 그래서 왜 사용하는데?

결론적으로 사용하는 이유는 코드를 더 읽기 쉽도록, 이해하기 쉽도록 명확하게 만들기 위해서이다. 그래서 찾아봤는데 30기 솝트 파트장님의 블로그에 야무지게 정리되어 있어서 같이 한번 살펴보자

[iOS] Typealias, 타입 별칭 사용하기

2-1. 프로토콜의 결합

프로토콜을 결합하는 경우 사용할 수 있다.

Codable 역시 Decodalbe과 Encodalbe의 결합체이다

Untitled

// 블로그에선 이렇게 사용할 수도 있다고 예시로 나와있었다.
public typealias CollectionViewDelegate = UICollectionViewDataSource & UICollectionViewDelegate & UICollectionViewDelegateFlowLayout

extension ViewController: CollectionViewDelegate {
	// 메서드 생략
}