iOS/문법

[iOS, Swift] 구조체와 클래스의 차이

검은참깨두유vm 2023. 2. 13. 21:53
반응형

구조체는 값 타입이고 클래스는 참조 타입입니다.

 

값 타입과 참조 타입이 다른 점은 값 타입을 넘긴다면 전달될 값이 복사되어 전달됩니다.

참조타입을 넘긴다면 참조(주소)를 복사하여 전달됩니다.

 

애플의 가이드라인에서는 다음 조건 중 하나 이상 해당된다면 구조체를 사용하는 것을 권장합니다.

- 연관된 간단한 값의 집합을 캡슐화하는 것만이 목적일 때

- 캡슐화한 값을 참조하는 것보다 복사하는 것이 합당할 때

- 구조체에 저장된 프로퍼티가 값 타입이며 참조하는 것보다 복사하는 것이 합당할 때

- 다른 타입으로부터 상속받거나 자신을 상속할 필요가 없을 때

반응형