Class와 Struct? Class와 Struct의 구현방법은 이상하리만치 비슷하다. 그럼 이 둘 사이에는 어떤 공통점과 차이점이 있을까? 또 어떤 경우에 어떤 것을 써야하는 걸까? Class와 Struct의 공통점? 여러 변수와 함수를 담을 수 있는 하나의 집합(컨테이너) 데이터를 용도에 맞게 묶어서 사용할 때 용이 확장이 가능함 점(.)을 사용하여 인스턴스의 속성과 메서드에 접근할 수 있음 프로토콜이 사용 가능함 인스턴스 생성이 가능하고 생성 방법이 같음 서브스크립트(subscript) 사용이 가능 생성자를 사용해 초기 상태를 설정할 수 있음 Class와 Struct의 차이점? 구조체에는 init()메소드 없이 자동으로 초기화 함수를 만들어 줌. 구조체는 값 타입, 클래스는 참조 타입 구조체는 상속할 수 없다. 타입캐스팅은 클래스의 인스턴스에만 허용된다. (상위 또는 하위 클래스 타입으로 형변환 가능) 디이니셜라이저는 클래스의 인스턴스에만 활용할 수 있다. 참조 횟수 계산은 클래스의 인스턴스에만 적용된다. 언제 Struct를 사용하면 좋을까? 이 경우가 아니면 Class를 사용하는 것이 좋다 아마도... 불변성(Immutable)이 필요한 데이터 타입 적은 데이터, 즉 멤버 프로퍼티의 갯수나 차지하는 메모리 용량이 적은 타입 대입 보다는 생성되는 경우가 많은 타입 공유될 필요가 없는 타입 클래스 타입 등 레퍼런스에 기반한 자료형을 저장용 프로퍼티로 쓰지 않는 경우 참고자료 https://velog.io/@wook4506/iOS-Swift-Swift-%EB%AC%B8%EB%B2%95%EC%9D%84-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90-9%ED%8E%B8-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EA%B5%AC%EC%A1%B0%EC%B2%B4%EC%9D%98-%EA%B3%B5%ED%86%B5%EC%A0%90%EA%B3%BC-%EC%B0%A8%EC%9D%B4%EC%A0%90