はじめに
コメントにて指摘いただきありがとうございます。🙇
編集いたしましたので再アップさせていただきます。
私は最近プログラミングスクールにて学習をスタートした初学者で、学習していく中で疑問が生じたので記事にしたいと思います。
classとstructの違いについてです。
すごく似ているようで、何か違う、
そのモヤモヤが解決しましたので、記事として残しておきたいと思います。
間違っている部分等あるかもしれません。その時はご指摘いただけると幸いです。
『class』と『struct』の違い
結論から言いますと、値型or参照型の違いです。
また 値型→上書きできない。
参照型→上書きできる。
という違いがあります。
classの場合は上書きができます↓↓
class
class Animal {
var name = "イヌ"
}
var animal1 = Animal()
var animal2 = animal1
Animal1.name = "ネコ"
Animal2.name = "ハムスター"
print(Animal1.name) //ハムスター
print(Animal2.name) //ハムスター
structの場合は上書きができません↓↓
struct
struct Animal {
var name = "イヌ"
}
var animal1 = Animal()
var animal2 = animal1
Animal1.name = "ネコ"
Animal2.name = "ハムスター"
print(Animal1.name) //ネコ
print(Animal2.name) //ハムスター
おわりに
つまり
class=参照型はそのものにアクセスできる。
struct=値型は代入したその時のものにアクセスできる。
と言うことですね。
classとstructの違いに理解できたことは、初学者の私にとって大きな一歩でした。
他にも違いがあるかもしれませんが、追々学んでいこうと思います。