Swift 언어
원본 보호와 깊은 복사
함수에 class 인스턴스를 넘겨 함수 안에서 프로퍼티를 바꿨더니 호출한 쪽의 원본까지 바뀌었습니다. 원본을 보호하려면 어떻게 하나요?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
함수에 class 인스턴스를 넘겨 함수 안에서 프로퍼티를 바꿨더니 호출한 쪽의 원본까지 바뀌었습니다. 원본을 보호하려면 어떻게 하나요?
class는 참조 타입이라 함수 안팎이 하나의 객체를 본다. 원본을 지키려면 struct 같은 값 타입으로 모델링하거나, 함수에 넘기기 전에 복사본을 만들거나, 읽기 전용 프로토콜로 노출한다.
메모리·ARC주관식기초
struct Order { var items: [Item]; let customer: Customer }에서 Item은 struct, Customer는…
#deep-copy #shallow-copy #nscopying
Swift 언어객관식입문
다음 코드의 출력은? …
#value-semantics
Swift 언어주관식기초
아래 코드에서 컴파일 에러는 어느 줄에서 왜 나나요? …
#value-semantics
Swift 언어주관식딥다이브
대용량 픽셀 버퍼를 감싸는 struct ImageBuffer를 만들어야 합니다. 값 의미론은 유지하면서 불필요한 복사를 피하고 싶습니다…
#value-semantics