Class | Struct | Enum |
- 전통적인 OOP 관점에서의 클래스 - 단일상속 - (인스턴스/타입) 메서드 - (인스턴스/타입) 프로퍼티 - 참조 타입 - Apple 프레임워크의 대부분의 큰 뼈대는 모두 클래스로 구성 |
- C 언어 등의 구조체보다 다양한 기능 - 상속 불가 - (인스턴스/타입) 메서드 - (인스턴스/타입) 프로퍼티 - 값 타입 - Swift의 대부분의 큰 뼈대는 모두 구조체로 구성 |
- 다른 언어의 열거형과는 많이 다른 존재 - 상속 불가 - (인스턴스/타입) 메서드 - (인스턴스/타입) 연산 프로퍼티 - 값 타입 - Enumeration - 유사한 종류의 여러 값을 유의미한 이름으로 한 곳에 모아 정의 - 열거형 자체가 하나의 데이터 타입 열거형의 case 하나하나 전부 하나의 유의미한 값으로 취급 |
구조체는 언제 사용하나?
- 연관된 몇몇의 값들을 모아서 하나의 데이터 타입으러 표현히고 싶을 때
- 다른 객체 또는 함수 등으로 전달될 때
- 참조가 아닌 복사를 원할 때
- 자신을 상속할 필요가 없거나 자신이 다른 타입을 상속받을 필요가 없을 때
- Apple 프레임워크에서 프로그래밍을 할 떄에는 주로 클래스를 많이 사용
'Swift' 카테고리의 다른 글
[Swift] Property 프로퍼티 - rewind (0) | 2021.01.22 |
---|---|
[Swift] Closer 클로저 - rewind (0) | 2021.01.22 |
[Swift] 열거형 Enum - rewind (0) | 2021.01.21 |
[Swift] 클래스 Class - rewind (0) | 2021.01.21 |
[Swift] 구조체 Struct - rewind (0) | 2021.01.21 |