iOS/Swift

[Swift] 클래스와 구조체 (Class, Struct)

듀니듀니 2022. 11. 22. 11:42

오늘은 클래스와 구조체를 정리해보겠습니다 :)

 

구조체(struct) vs 클래스(class)

 

타입 -> Value Type (값 형식) vs Reference Type (참조 형식)

메모리 -> 값의 저장: Stack / 복사 전달 (메모리에서 자동제거) vs Heap / 주소 전달 (ARC로 관리)

선언 -> 인스턴스 상수(let)로 선언시, 저장속성이 전부 상수로 선언 vs 인스턴스 상수(let)로 선언하면
 가르키는 인스턴스 고정 (저장 속성은 각 let/var 선언에 따름)

소멸자 -> 소멸자 없음 vs 소멸자 있음

상속여부 -> 상속 불가능 vs 상속 가능

 


값 형식(struct) vs 참조 형식(class)

 

타입 -> Value Type vs Reference Type

메모리 상의 저장 위치 -> Stack vs Heap 

메모리 관리 방식 -> 값이 들어있는 스택의 스코프 종료시, 메모리에서 자동 제거 vs 

Reference Counting을 통해 메모리를 관리

타입 예시 -> 스위프트 기본 타입(Int, String ...), 구조체 vs 클래스, 클로저

'iOS > Swift' 카테고리의 다른 글

[Swift] 속성 감시자 (Property Observer)  (0) 2022.11.25
[Swift] 서브스크립트 (Subscripts)  (0) 2022.11.25
[Swift] Optional  (0) 2022.11.17
[Swift] Array  (0) 2022.11.16
[Swift] Any, AnyObject  (0) 2022.11.15