포인터를 써서 오브젝트를 만들고 관리하게 되면, 오브젝트를 생성하는 측, 사용하는 측, 소멸시키는 측이 서로 달라지게 된다. 특히 사용하는 측이나 소멸시키는 측은 복수개가 될 수 있다.

그럴 때 어떤 오브젝트의 소유주를 가리려면 어떤 기준으로 판단해야 하는가?

정답은 '그 오브젝트를 소멸시켜야 하는 책임이 있는 오브젝트'가 소유주이다.

어떤 경우에는 소유주가 둘 이상이 되어야 할 경우가 있다. 이럴 때에는 레퍼런스 카운팅을 사용하여야 한다.

그 외의 경우에는 참조로 보아야 할 것이고, 소유주측과는 다르게 인식하여야 한다.

소프트웨어를 설계하면서 관계도 같은 것을 그릴때 소유주와 소유를 당하는 측을 정확하게 구분하길 바란다.

imcgames 의 김학규입니다