관리 메뉴

사과하는 제라스

[iOS 개발 약속] struct vs class 기준 본문

제라스의 iOS 공부/iOS 개발 약속

[iOS 개발 약속] struct vs class 기준

Xerath(제라스) 2023. 9. 29. 10:10

목차

    728x90
    반응형

    MVC 패턴을 이용해서 코드를 짜다보면 Model의 기본 구조를 무엇으로 할 지 고민이 될 때가 있다...

    둘의 차이점은 가장 큰 건 값복사냐

     

    사실은 모든 파일에 대해서도 이건 class로 짜야하나? struct로 짜야하나? 고민될 때가 많다.

     

    누가 정답 좀 알려주면 좋을텐데...

     

    그래서 좀 정리해보기로 했다. 웅장해지는 struct와 class 세계관 싸움..!!

     

    1. MVC패턴에서의 Model

    일단 이때는 하나의 Model을 여러 Controller에서 접근을 하냐마냐에서 갈린다.

    여러 곳에서 접근을 할 경우에는 값타입의 struct보단 class로 구현하는 것이 좋다.

    또한, 프로젝트의 규모가 커질수록 struct보단 class로 구현하는 것이 좋다.

     

    보통 실무에서는 class를 많이 사용하게 된다고 하는데 요즘 추세가 최대한 가벼운 struct를 활용한다고도 하니 두 가지 모두 알아두자!

     

     

     

     

     

     

     

    참고출처: https://velog.io/@manpkh95/Swift-Struct-VS-Class%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC

     

    [Swift] Struct VS Class에 대하여

    아 애플이 Struct 쓰래~

    velog.io

     

    위 출처를 많이 참고했는데 이때 가장 신기했던 것은 struct에서 값을 변경시키는 함수를 구현할 때 mutating을 사용하는데 이것으로 값을 변경하게 되면 아예 새로운 copy본을 만드는 방식이라고 한다.

     

    또한, 새로 알게 된 struct의 장점으로 class에선 let으로 선언된 변수도 변경이 가능하지만 struct는 그렇지 않기에 위험이 덜하다는 점이 있었다.

     

    728x90
    반응형