Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Reference Cycle
- 면접을 위한 CS 전공 지식 노트 Tree
- Array vs Linked List
- @escaping
- 롤케이크 자르기
- tableview section별 다른 cell적용
- til
- Input Output
- 프로그래머스
- TableView Section
- NavigationSearchBar
- 테이블뷰 나누기
- class struct
- CoreData
- ReferceCycle
- 양궁대회
- retain cycle
- 면접을 위한 CS전공 지식 노트
- 자료구조
- UserDefaults
- wil
- Value Type Reference Type
- coremotion
- 강한 참조 순환
- TableView
- CarouselCollectionview
- Carousel CollectionView
- firebase
- SWIFT
- UIKit
Archives
- Today
- Total
개발하는 동글 :]
Swift 의 Class와 Struct 메모리 저장 위치는 어딜까? 본문
1. 메모리의 주소를 확인할 수 있는 메서드 생성

2. 간단한 Class와 Struct 생성

3. Struct를 프로퍼티로 가진 Class와 Class를 프로퍼티로 가진 Struct 생성

4. Class(Struct)?

- 클래스를 생성한 인스턴스와 그것을 복사한 인스턴스의 메모리 주소는 다른 것을 확인 할 수 있었다. 이것은 내가 알고 있었던 사실과는 조금 달랐다 나는 막연히 클래스 자체를 인스턴스화 하여도 참조 타입이기에 동일한 메모리 주소를 가지는 줄 알았지만 클래스 내부의 프로퍼티들이 동일한 메모리 주소를 가지는 것을 알 수 있었다.
- Class 인스턴스 자체는 stack에 올라가 복사한 Class와 서로 다른 메모리 주소를 가지고 있고 내부의 프로퍼티는 클래스의 특징인 참조형식이기에 동일한 주소를 가지고 있다.
5. Struct(Class)?

- 구조체 인스턴스 또 한 다른 메모리 주소값을 가지고 있고 내부의 클래스 인스턴스는 특징인 참조타입에 따라 동일한 메모리 주소를 가지고 있다 그리고 일반적인 구조체 내부의 변수는 구조체의 특성을 따라 값을 복사하고 있다.
- Struct 인스턴스 자체는 stack에 올라가 복사한 struct와 서로 다른 메모리 주소를 가지며 내부의 프로퍼티는 class의 특성을 따라 참조 타입이기에 메모리 주소가 동일하다.