새소식

iOS/프로젝트회고

언제 class보다 struct를 쓰는 것이 좋은가?

  • -

우리들은 class는 힙 메모리에 저장되고 struct는 스택 메모리에 저장되며 class는 값을 참조하고 struct는 값을 복사한다는 것을 알고 있다.

struct의 경우는 그래서 class보다 속도가 빠르다는 것을 알고 있는데 그렇다면 코드를 짤 때 언제 struct를 쓰는 것이 과연 올바른 행위인지 자세히 알기가 힘들다.

 

프로젝트를 하면서 이와 같은 class와 struct에 대해서 고민이 있었고 애플의 가이드라인에 이와 같은 고민을 해결하는 문장을 볼 수가 있었다.

 

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

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

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

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

 

애플의 가이드라인에 따르면 이와 같은 4가지 중 1개 이상에 해당된다면 struct를 쓰는 것이 권장된다고 한다.

앞으로의 프로젝트에 이와 같은 기준에 대해서 고민하면서 쓰도록 하자!

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.