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

+ Recent posts