Daily iOS
메모리·ARC

값 타입 내부 참조의 공유

웹툰 앱의 Episode struct 안에 class 타입인 ImageCache 프로퍼티가 있습니다. 이 struct를 복사한 뒤 한쪽에서 캐시를 바꾸면 다른 쪽에는 어떤 상태가 공유됩니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

struct의 다른 필드(id, title 같은 값)는 독립된 사본이 되지만 ImageCache 필드는 포인터만 복사되어 두 Episode가 같은 ImageCache 인스턴스를 가리키므로, 한쪽에서 캐시에 이미지를 넣거나 비우면 다른 쪽에서도 그대로 보인다. 값 타입이 값 의미론을 보장하는 범위는 자기 필드까지다.

받은 질문 공유