ARC

    Swift Reference Count 고찰 ( with side table )

    Swift ARC 의 기본적인 개념은 아래 포스팅을 참고해주시면 감사하겠습니다. Swift ARC ( Automatic Reference Counting ) 정리 추상적으로 "메모리를 관리해주는 것" 으로 이해하고 있었지만, JAVA 의 GC ( 가비지 컬렉터 ) 와의 차이점을 명확하게 설명하게 어려워서 포스팅을 작성했습니다. 프로그래밍 언어의 메모리 관리 linux-studying.tistory.com 필자는 iOS 를 처음 공부하며 클로저 캡처리스트를 작성할 때 unowned 를 남발했던 기억이 있습니다. 그 후 앱 크래시를 유발할 수 있다는 조언을 듣고 강한 순환 참조가 발생할 수 있는 상황에서는 weak 키워드를 사용했습니다. weak 와 unowned 를 사용하면 레퍼런스 카운트가 올라가지 않고..

    Swift ARC ( Automatic Reference Counting ) 정리

    추상적으로 "메모리를 관리해주는 것" 으로 이해하고 있었지만, JAVA 의 GC ( 가비지 컬렉터 ) 와의 차이점을 명확하게 설명하게 어려워서 포스팅을 작성했습니다. 프로그래밍 언어의 메모리 관리 C, C++ 과 같은 언어는 Heap 영역에 할당된 메모리를 개발자가 직접 관리하지만 대부분의 현대적인 언어들은 포인터를 언어 내부적으로 사용하고 ( 감추고 ) 메모리를 자동적으로 관리합니다. 이에 크게 두가지 방식이 있습니다. RC ( Reference Count ) 사용 언어: Swift, Rust ... 참조 시점: Complie time 특정 객체가 참조되면 Count 를 1 증가시키고, 반대로 참조 해제되어 Count 가 0이 되면 메모리에서 객체를 해제하는 기술입니다. 장점 : 컴파일 시점에 적용되므..