iOS

[iOS] 2025.03.24 클래스와 구조체

ioskkt 2025. 3. 24. 21:23

클래스와 구조체의 차이.

  • 클래스를 통해서 만들어진 인스턴스는 레퍼런스 타입.
  • 구조체를 통해서 만들어진 인스턴스는 밸류 타입.

 

클래스와 구조체 선택기준.

  • 값을 복사해서 사용하는 경우 - > 구조체(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