[Swift] 앱 개발에서의 메모리 관리에 대한 이해 (Swift 메모리 구조와 ARC 개념)

Swift
avatar
2025.02.12
·
1 min read

Swift의 메모리 구조

  • Stack: 지역 변수 및 함수 호출 시 할당되는 공간

  • Heap: 클래스 및 참조 타입 인스턴스가 저장되는 공간

  • Global: 전역 변수 및 정적 변수의 저장 공간

  • Code: 실행 코드가 저장되는 영역

ARC(Automatic Reference Counting) 개념

ARC는 Swift의 메모리 관리를 자동으로 수행하는 기능으로, 객체가 더 이상 참조되지 않을 때 메모리를 해제한다.

강한 참조 순환(Strong Reference Cycle) 해결 방법

  • Weak 참조: 참조 카운트를 증가시키지 않음

  • Unowned 참조: 참조된 객체가 해제될 것을 보장하는 경우 사용

class Person {
    var name: String
    weak var Friend: Person?

    init(name: String) {
        self.name = name
    }
}






- 컬렉션 아티클