Struct을 써서 Value 타입으로 앱을 개발해 보고 있습니다.
OOP에 익숙하다보니, 코딩을 하면서도 계속 갸웃거리게 되네요.
배열 안에 넣은 오브젝트를 수정할 때,
레퍼런스 타입은 그냥 오브젝트 참조로 가져와서 수정하면 그냥 수정이 되는데,
밸류 타입은, 이걸 바로 수정할 수 있을지, 아니면 새걸 만들어서 바꿔치워야 하는지 고민이 되죠.
Struct이 Array를 가지고 그 Array 안에 다른 Struct의 인스턴스를 가지는 경우는 흔하죠?
이 Array안의 인스턴스를 수정할 때 레퍼런스 타입인 오브젝트와 달리 밸류 타입인 스트럭의 인스턴스가 신경쓸 부분이 많아요.
일단 가장 쉬운 방법은 해당 배열로 접근해서 Subscript를 이용해 인스턴스를 읽고 그 값을 변경하는 거네요.
아래 블로그에 좋은 예가 있어서 소개합니다. 글 쓴이는 애플로 이직했네요.