[Swift] Class vs Struct (feat. 메모리 구조, Array, CoW)
·
Swift-iOS/Swift
야곰 아카데미에서 프로젝트를 진행하다가 "OO는 왜 구조체로 구현했나요?"라는 질문을 받았는데, 그 질문에 대한 답변이 바로 떠오르지 않았다. 왜냐하면... 특별한 이유를 생각해보지 않고 구현했기 때문이었다^^;;; 굳이굳이 이유를 찾아보자면, 아직 프로젝트 요구사항이 전부 밝혀지지 않아서 굳이 class로 작성할 이유를 찾지 못했기 때문이라고 할 수 있겠다. (애플 공식문서에서 클래스에서만 지원하는 기능이 필요한 경우가 아니면 기본적으로 구조체를 쓰라고 했기 때문에) 그런데 연결 리스트를 구현해보는 과정에서 Node는 아무 생각 없이 클래스로 구현했었던 것이 생각나서, (나를 포함한 다른 사람들도) 왜 노드는 클래스로 구현했지?라는 의문을 갖게 되었다. Doubly Linked List의 노드는 일반적..