2024년 3월 28일 목요일
두 개념을 다시 한 번 정리해 봅니다.
한 문장으로 정리한 차이점은,
Class 참조타입이고 ARC로 메모리 관리를 한다.
Struct 값 타입이다.
[ 공통점 ]
- 함수적 기능을 하는 메서드를 선언할 수 있다.
- 값을 저장할 property를 선언할 수 있다.
- protocol을 채택하여 기능을 설정할 수 있다.
- extension을 사용하여 기능을 확장할 수 있다.
- 생성자를 사용해 초기 상태를 설정할 수 있다.
- 내부 값에 .을 사용하여 접근할 수 있다.
[ Class ]
- 참조 타입이다. :
- ARC로 메모리를 관리한다. :
- 상속이 가능하다.
- 동일한 클래스 인스턴스를 여러 변수에 할당한 뒤 값을 변경하면 모든 변수에 영향을 준다.
- 타입 캐스팅을 통해 런타임에서 클래스 인스턴스 타입을 확인할 수 있다.
- deinit을 사용하여 클래스 인스턴스의 메모리 할당을 해제할 수 있다.
[ Struct ]
- 값 타입이다. :
- 구조체 변수를 새로운 변수에 할당할 때마다 새로운 구조체가 할당된다. ( = 같은 구조체의 여러 개의 변수에 할당한 뒤 값을 변경시키더라도 다른 변수에 영향을 주지 않는다.(값 자체를 복사) )
reference
[Swift] Class와 Struct의 차이점?
안녕하세요 Pingu입니다.🐧 오늘은 iOS 개발에 쓰이는 Swift 언어에서 Class, Struct의 차이점이라는 주제를 가지고 글을 써보려고 합니다. iOS 개발자로 면접을 준비하다 보면 Class, Struct의 차이점이라
icksw.tistory.com
'iOS 앱 개발자 프로젝트 > Swift 문법 정복하기' 카테고리의 다른 글
[Swift] Inheritance & Override (2) (0) | 2024.04.10 |
---|---|
[Swift] Closure, Higher Order Function (2) (0) | 2024.03.31 |
[Swift] Closure, Higher Order Function (0) | 2024.03.16 |
[Swift] Escaping closure (0) | 2024.03.15 |
[Swift] Thread, Asynchronous & Networking (1) | 2024.03.14 |