<aside> *️⃣ 두 개 이상의 관계에서도 가능
</aside>
<aside> *️⃣ 서로 소유(=사용)하므로 해제되지 않음
</aside>
<aside> *️⃣
수동으로 해제시켜줘야 함
</aside>
<aside> *️⃣ 가장 큰 문제점은 바로 메모리 누수
</aside>
코드로 살펴보자
class Car {
var engine: Engine?
}
class Engine {
var car: Car?
}
Car
라는 객체가 Engine
이라는 객체를 소유하고 있고
Engine
에 있는 car
라는 프로퍼티를 통해서 Car
객체를 소유하고 있음
→ 서로 상호 소유의 관계
⇒ 이 관계에서 바로 강한 순환 참조가 발생