클래스와 구조체의 차이.
- 클래스를 통해서 만들어진 인스턴스는 레퍼런스 타입.
- 구조체를 통해서 만들어진 인스턴스는 밸류 타입.
클래스와 구조체 선택기준.
- 값을 복사해서 사용하는 경우 - > 구조체(struct)
* 값을 복사해서 가지만, 원본값은 변하지 않음! - 참조를 공유하며 상태를 변경해야 하는 경우 -> 클래스(class)
* 메모리 주소가 복사되면서 원본과 복사본이 같은 인스턴스 값을 가지게 되면서 원본값이 변함.
더 정리해야할 부분들.
동적 메모리 할당
- 프로그램 실행 중(RunTime)에 필요한 만큼 메모리를 할당하는 방식.
메모리
- 메모리는 주소로 관리됨.
- 메모리가 증가한다는 표현은 메모리 주소값이 커지는 방향으로 할당된다는 의미.
- CPU는 주소를 이용해 데이터 저장 위치를 찾음.
"메모리가 증가한다" 의 정확한 의미
- 실제로 메모리가 많아지는 것이 아니라, 할당되는 주소 값이 커진다는 뜻.
힙 증가
- 동적 메모리 할당 시, 낮은 주소에서 높은 주소 방향으로 할당됨.
- 즉, 할당할 때마다 더 큰 주소를 차지.
- 주소값이 커지므로 "힙이 증가한다" 고 표현
스택 감소
- 함수 호출 시, 높은 주소에서 낮은 주소 방향으로 데이터 저장함.
- 즉, 새로운 데이터가 저장될수록 주소 값이 작아짐.
- 주소 값이 작아지므로 "스택이 감소한다" 고 표현
-> 사용하는 주소가 변화한다고 이해 !
'iOS' 카테고리의 다른 글
[iOS]2025.05.23 RxDataSources (0) | 2025.05.23 |
---|---|
[iOS] 2025.04.13 오늘의 꿀팁 (0) | 2025.04.13 |
[iOS] 2025.03.20 과제 트러블 슈팅 (0) | 2025.03.20 |
[iOS] 2025.03.05 팀프로젝트(3) (0) | 2025.03.05 |
[iOS] 2025.03.04 팀프로젝트(2) (0) | 2025.03.04 |