iOS 캠프 TIL - 2020.11.20 금
구조체와 클래스의 차이
- 구조체는 값타입, 클래스는 참조 타입
- 구조체는 상속할 수 없음
- 타입 캐스팅은 클래스의 인스턴스에만 허용됨
- 디이니셜라이저는 클래스의 인스턴스에만 가능
- Reference Counting은 클래스의 인스턴스에만 적용
구조체 vs 클래스 선택
애플 가이드라인에서는 아래 조건 중 하나 이상 해당되면 구조체 사용 권장
- 연관된 간단한 값의 집합을 캡술화 하는 것만이 목적일 때
- 캡슐화된 값이 참조되는 것보다 복사되는 것이 합당할 때
- 구조체에 저장된 프로퍼티가 값 타입이며 참조되는 것보다 복사되는 것이 합당할 때
- 다른 타입으로부터 상속받거나 자신이 상속될 필요가 없을 때
Leave a comment