본문 바로가기
Languages/Swift

Class와 Struct의 차이

by 탄이. 2018. 12. 30.

Class와 Struct의 차이

  • 같은 점

    1. 값을 저장하기 위해 프로퍼티를 정의할 수 있습니다.

    2. 기능 실행을 위해 메서드를 정의할 수 있습니다.

    3. 서브스크립트 문법을 통해 구조체 또는 클래스가 갖는 값(프로퍼티)에 접근하도록 서브스크립트를 정의할 수 있습니다.

    4. 초기화될 때의 상태를 지정하기 위해 이니셜라이저를 정의할 수 있습니다.

    5. 초기구현과 더불어 새로운 기능 추가를 위해 익스텐션을 통해 확장할 수 있습니다.

    6. 특정 기능을 실행하기 위해 특정 프로토콜을 준수할 수 있습니다.

  • 다른 점

    1. 구조체는 상속할 수 없습니다.

    2. 타입캐스팅은 클래스의 인스턴스에만 허용됩니다.

    3. 디이니셜라이저는 클래스의 인스턴스에만 활용할 수 있습니다.

    4. 참조 횟수 계산은 클래스의 인스턴스에만 적용됩니다.


댓글