728x90
Class vs Struct
class | struct | |
타입 | 참조(Reference) | 값(Value) |
ARC에서 메모리 관리 | O | X |
변수 할당 시 | 메모리 주소만 복사 (한 변수의 값을 변경 시키면 모든 변수가 변경) |
새로운 변수에 할당 시 새로운 구조체 할당 (한 변수의 값을 변경시켜도 다른 변수에 영향없음) |
메모리 영역 | Heap | Stack |
thread-safe | X | O |
상속 사용 | O | X |
deinit | O | X |
메서드 선언 | O | |
프로퍼티 선언 | O | |
생성자 사용 | O | |
extension | O | |
Protocol 채택 | O |
728x90
'Swift' 카테고리의 다른 글
[Swift] 왜 struct에선 mutating을 사용해야하는가? (0) | 2022.06.19 |
---|---|
[Swift] 메모리 구조 (0) | 2022.06.06 |
[Swift] deinit에서 self에 접근해도 되는가? (0) | 2022.06.02 |
[Swift] closure에서 self를 써야하는 이유 (0) | 2022.05.16 |
[Swift] 캡처리스트 (Capture List) (0) | 2022.04.05 |
댓글