ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스위프트의 메모리 관리 모델
    Swift/swift 문법 2023. 4. 24. 19:38

    값 형식과 참조 형식

    값 형식 : 필요 시 항상 메모리의 값이 복사되어 전달됨 (값의 저장:stack)

    값이 들어있는 스택의 스코프가 종료되면 메모리에서 자동으로 제거된다. 

     

    참조형식: 메모리의 주소를 전달 (값의 저장: Heap)

    -> Reference Counting을 통해 메모리를 관리 (ARC)

    -> 힙 영역에 할당되는 데이터는 개발자가 잘 관리해야한다. 할당이 해제되지 않으면 메모리 누수 현상이 발생.

     

    강한참조 사이클 

     

    참조: 그 대상을 가리키고 (메모리의 주소값을 다른 인스턴스에서 저장하고 있음)있음

     

    약한참조(weak)

    예시

    weak var vehicle: Car?

    의미: Dog 타입의 인스턴스를 가리킬건데, RC는 올리지 않겠다.

    참조하는 인스턴스가 없으면 nil을 할당할것.

     

    비소유 참조 (unowned)

    예시

    unowned var vehicle: Car?

    의미: Dog 타입의 인스턴스를 가리킬건데, RC는 올리지 않겠다.

    참조하는 인스턴스가 없으면 오류 발생

     

    -> 소유자보다 인스턴스의 생명주기가 더 길거나 같은 경우 (소유자: vehicle, 인스턴스: Car)

     

     

    'Swift > swift 문법' 카테고리의 다른 글

    문자열: 출력 형식 지정자  (0) 2023.05.08
    모나드  (0) 2023.04.27
    프로토콜  (0) 2023.04.24
    클래스와 구조체  (0) 2023.04.22
    메모리 안전  (0) 2023.04.21
Designed by Tistory.