# 클래스(Class)
전통적인 OOP 관점에서의 클래스입니다. 클래스는 단일상속이 가능하고 *참조 타입입니다.
Apple 프레임워크의 대부분의 큰 뼈대는 모두 클래스로 구성되어 있습니다.
(참조 타입 - Reference Type : 데이터를 전달할 때 메모리 위치를 전달합니다.)
# 구조체(Struct)
C언어 등의 구조체보다 다양한 기능을 가지고 있습니다. 구조체는 상속이 불가능하고 *값 타입입니다.
Swift의 대부분의 큰 뼈대는 모두 구조체로 구성되어 있습니다.
(값 타입 - Value Type : 데이터를 전달할 때 값을 복사하여 전달합니다.)
# 열거형(Enum)
다른 언어의 열거형과는 많이 다른 존재입니다. 열거형은 상속이 불가능하고 값 타입입니다.
유사한 종류의 여러 값을 유의미한 이름으로 한 곳에 모아 정의합니다.
예) 요일, 상태값, 월 등
그렇다면 구조체를 언제 사용하면 좋을까요?
- 연관된 몇몇의 값들을 모아서 하나의 데이터타입으로 표현하고 싶을 때
- 다른 객체 또는 함수 등으로 전달될 때 참조가 아닌 복사를 원할 때
참고 : edwith - Swift입문 16.클래스 vs 구조체 / 열거형 챕터
'Swift' 카테고리의 다른 글
[Swift] Property - didSet, willSet이란 (0) | 2018.06.11 |
---|---|
[Swift] 프로토콜(Protocol)이란 (0) | 2018.05.04 |
[Swift] guard vs if (3) | 2018.04.27 |
[Swift] Inheritance- final 키워드 (0) | 2018.04.25 |
[Swift] map, filter, reduce (0) | 2018.04.17 |