クラスとストラクチャ Swiftのクラスは、Objective-Cのクラスとほぼ同じ機能でデータ型を定義します。Objective-Cで使用可能だった機能の多くが、Swiftのクラスでも使用可能です。 ストラクチャも、クラスと同様にデータ型を定義する機能です。プロパティやメソッド、イニシャライザの宣言など、クラスにできることの多くがストラクチャでもできます。しかし、ストラクチャは参照型でないなど、本質的にクラスと異なる部分があります。第1回で取り上げたString、Intなどの値型はストラクチャとして扱われます。 公式ドキュメントによれば、データ型としてストラクチャを考慮すべきケースは次のとおりです。 型を作る目的が、比較的単純なデータ値のカプセル化である場合 インスタンスが参照ではなく、コピーされることが期待される場合 保持プロパティが、参照ではなくコピーされることが期待される場合 他の
![Swiftの「クラス」と「ストラクチャ」 その① ~ プロパティ、メソッド、継承、ライフサイクル](https://cdn-ak-scissors.b.st-hatena.com/image/square/ff47cd16225d56868ebf7ea0d388b53134695eb1/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fimages%2Farticle%2F7898%2F7898_arena.png)