Class
- Swift에서는 객체라는 용어대신에
인스턴스 라는 용어를 사용한다. 한마디로 클래스타입의 인스턴스를 객체라고 칭하지 않는다.
- 단일 상속만 가능하다.
- (인스턴스/타입) 메서드, (인스턴스/타입) 프로퍼티 (
Struct 와 같음)
- 참조 타입(=reference type)
- iOS 프레임워크의 대부분이
Class 로 구성되어있다.
Struct
Class와 다르게 상속이 불가능 하다.
- (인스턴스/타입)메서드, (인스턴스/타입)프로퍼티 (
Class 와 같음)
- 값 타입(=value type)
- Swift의 대부분의 큰 뼈대는 모두
Sttuct 로 구성이 되어있다.
- Int, Double, String 등 데이터 타입
Enum
- 상속이 불가능하다.
- (인스턴스/타입)메서드, (인스턴스/타입)연산 프로퍼티
Class와 Struct의 공통점
- 서로 다른 타입(자료형)들을 하나로 묶을 수 있다.
- 이러한 묶은 자료형들을 새로운 타입처럼 사용 가능.
- 클래스/구조체 안에서 함수/프로퍼티 정의 가능
extension이 가능.
Class와 Struct의 차이점
- 클래스는 참조 타입, 열거형과 구조체는 값 타입이라는 것이 가장 큰 차이
- 클래스는 상속이 가능하지만, 열거형과 구조체는 상속이 불가능
참고 사이트
Swift ) Swift 기초문법1 ( CLASS / STRUCT / ENUM )
Swift : 기초문법 [ CLASS / STRUCT / ENUM 간단비교]