Development/Tips
[옛 글] [Tip] alloc(new), copy, retain
마즈다
2013. 7. 15. 07:35
반응형
최초 작성일 : 2010/04/11 10:34
alloc (new)
생성할 객체를 로드하기 위한 메모리 영역을 확보하고 retain count를 1로 만든 후 객체를 반환한다.
생성된 객체에 대해 소유(사용)자가 된다.
copy
객체를 복제하여 retain count를 1로 만든 후 객체를 반환한다.
값의 복사는 아니며, copy를 한 경우에는 복제된 객체에만 소유(사용)자가 된다.
retain
기존에 다른 곳에서 참조되고 있는 객체에 대해 retain count를 1 증가시키면서
객체에 대한 소유(사용)권을 얻어온다.
***
소유권에 대한 문제 :
위 내용에 보면 '소유권'에 대한 언급이 있는데 이 소유권이란 어떤 객체의 소유자가
그 객체의 인스턴스에 대해 메모리 해제의 책임을 진다는 의미로 일종의 개발 관행이다.
alloc(new), copy, retain 등으로 객체의 인스턴스를 생성하거나 참조 카운트를
올리는 것이 바로 그렇게 생성된 인스턴스의 소유자가 되는 것이다.
반응형