
[TIL / 25.09.19] Swift는 왜 struct를 권장하는가
·
카테고리 없음
Swift에서 struct와 class는 비슷해보이지만, 언어 설계 방향과 코드 전체 구조적 특성, 확장성 등 핵심적인 차이를 가진다. class의 경우 Objective-C와의 호환에 맞춰서 도입된 참조 타입(Reference type)이며, 상속, 런타임 타입 체크, ARC(자동 참조 카운트) 관리를 지원한다.struct의 경우 값 타입(Value type)으로, 복사 시 데이터 전체를 새로 복제한다. 상속이 불가능하며, Swift에서 struct는 C의 struct와 달리 메서드, 프로퍼티, 확장, 프로토콜 채택 등 객체지향적 특성을 모두 가진다.이 struct를 클래스와 동등한 1등 시민(First-Class Citizen)으로 두고 실제 표준 라이브러리와 SwiftUI 등 시스템 전반에 기본 설..