クラスとストラクチャ Swiftのクラスは、Objective-Cのクラスとほぼ同じ機能でデータ型を定義します。Objective-Cで使用可能だった機能の多くが、Swiftのクラスでも使用可能です。 ストラクチャも、クラスと同様にデータ型を定義する機能です。プロパティやメソッド、イニシャライザの宣言など、クラスにできることの多くがストラクチャでもできます。しかし、ストラクチャは参照型でないなど、本質的にクラスと異なる部分があります。第1回で取り上げたString、Intなどの値型はストラクチャとして扱われます。 公式ドキュメントによれば、データ型としてストラクチャを考慮すべきケースは次のとおりです。 型を作る目的が、比較的単純なデータ値のカプセル化である場合 インスタンスが参照ではなく、コピーされることが期待される場合 保持プロパティが、参照ではなくコピーされることが期待される場合 他の