Post

순환 참조를 방지하기 위해 모든 경우에 약한 참조를 해도 될까?

순환 참조를 방지하기 위해 모든 경우에 약한 참조를 해도 될까?

결론 : 그렇게 하면 안된다.


이유

  1. 약한 참조일 경우 객체가 필요한 시점에 이미 메모리에서 해제되기 때문에 nil참조를 하게 되고 오류가 발생함.
  2. 강한 참조는 객체의 수명을 제어하기 때문에 강한 참조가 필요함.
  • 순환 참조가 발생할 경우에만 약한 참조 실행.
This post is licensed under CC BY 4.0 by the author.