Structure
구조체는 서로 관계 있는 속성들을 묶어서 표현하는 오브젝트이다. (Object = Data + Method)
Object는 Structure와 Class 둘 중 하나의 방법으로 구현된다.
Structure와 Class의 차이
Structure(구조체) | Class |
Value Type | Reference Type |
Copy | Shared |
Stack | Heap |
우선 Structure는 Value type이다. 구조체 타입의 변수에는 말 그대로 해당 구조체의 value가 저장된다.
반면에 Class는 reference type으로 class 타입의 변수에는 값이 저장된 메모리에 대한 참조가 저장된다. 따라서 해당 클래스 변수를 참조하게 되면 변수가 참조하고 있는 메모리에 가서 얻고자 하는 값을 가져온다.
value type과 refernece type은 동작방식(복사)에서 큰 차이를 보여준다.
value type은 기존 구조체 타입의 변수를 새로운 동일한 구조체 타입의 변수에 할당하게 되면, 즉 기존 변수를 새로운 변수를 복사하면 새로운 공간에 같은 값이 복사된다. 따라서 기존 변수의 값의 변경이 새로운 변수에 영향을 미치지 않는다.
반면에 Class type은 기존 Class type의 변수의 값을 새로운 동일한 타입의 변수에 할당하게 되면, 둘은 같은 메모리를 공간을 가리키게 된다. 따라서 기존 변수의 값의 변경을 새로운 변수에 영향을 미치고, 역으로도 마찬가지이다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'iOS > iOS 앱 개발 올인원 패키지 Online' 카테고리의 다른 글
[iOS] 패스트캠퍼스 챌린지 18일차 - Structure(3) (0) | 2021.09.23 |
---|---|
[iOS] 패스트캠퍼스 챌린지 17일차 - Structure(2).예제 (0) | 2021.09.22 |
[iOS] 패스트캠퍼스 챌린지 15일차 - Closure(2) (0) | 2021.09.20 |
[iOS] 패스트캠퍼스 챌린지 14일차 - Closure(1) (0) | 2021.09.19 |
[iOS] 패스트캠퍼스 챌린지 13일차 - Collection(2). Dictionary & Set (0) | 2021.09.18 |