Objective-C 시절부터 immutable 사용이 강조되어 왔습니다. 변하지 않는 값의 사용이 증가할수록 에러 확률이 줄고 컴파일러 또한 보다 적극적으로 최적화할 수 있기 때문입니다. class는 reference type이고 struct는 value type입니다. 가능하다면 mutability control 측면에서 struct를 사용하는 것이 권장됩니다.
애플 문서에서는 다음과 같을 때 struct를 쓰라고 권장하고 있습니다.
- 관련있는 간단한 데이터를 encapsulation
- 값이 reference 되지 않고 copy되는 것이 더 타당한 경우
- struct에 저장된 property들 역시 value type인 것이 자연스러움
- 기존의 type에서 상속될 필요가 없는 경우
'Tech > iOS' 카테고리의 다른 글
스위프트 타입 호환성 (0) | 2017.01.11 |
---|---|
@noscape, @autoclosure (0) | 2016.10.24 |
optional을 쉽게 설명해보자 (0) | 2016.05.17 |
Hashable Protocol (0) | 2016.02.28 |