Skip to content

Latest commit

 

History

History
37 lines (27 loc) · 982 Bytes

index.md

File metadata and controls

37 lines (27 loc) · 982 Bytes

09.구조체와 클래스

구조체와 클래스의 정의

struct 구조체 이름 {
	프로퍼티와 메서드들
}
class 클래스 이름 {
	프로퍼티와 메서드들
}

구조체와 클래스의 차이

  • 구조체는 상속할 수 없다.
  • 타입캐스팅은 클래스의 인스턴스에만 허용
  • deinit도 클래스에서만 구현 가능하다.
  • Reference counting은 클래스의 인스턴스에만 적용된다.
  • 구조체는 값 타입, 클래스는 참조 타입
👉 값 타입은 전달될 값이 복사되어 전달되고, 참조 타입은 값은 복사하지 않고 참조가 전달된다.
  1. 클래스의 인스턴스끼리 같은 침조임을 확인하기 위해서는 **식별 연산자(identity operators)**를 이용한다

    instanceA === instanceB
  2. 스위프트의 기본 데이터 타입은 모두 구조체이다.

    그러므로 모두 value type임을 기억하자.