값 타입
-
[Swift] 값타입의 Heap Allocation(Heap boxing)은 언제 일어날까?Swift 2025. 3. 6. 15:01
값타입도...힙에 저장된다고...? 값타입의 Heap Allocation(Heap boxing)클로저에 대해 공부하면서 값타입의 Heap Allocation에 대해 더 공부하게 되었습니다. 값타입의 Heap Allocation은 Struct, Enum과 같이 Stack에 저장되는 값 타입이 힙에 할당되는 현상을 의미합니다. 이렇게 Heap에 할당된 경우 값 타입이 heap에 저장되며 class와 같이 참조타입처럼 동작하게 됩니다.Heap Allocation이 발생하는 경우Swift에서 Heap Allocation은 다음과 같은 경우에 발생합니다.프로토콜을 통해 값 타입을 다룰 때클로저에서 캡쳐될 떄(캡쳐리스트가 없는 경우)컬렉션에서 값 타입을 참조할 때클래스 안에 값타임, 값 타입 안에 클래스 타입을 ..