1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

classとstructの違いについて

Last updated at Posted at 2024-03-04

はじめに

コメントにて指摘いただきありがとうございます。🙇
編集いたしましたので再アップさせていただきます。

私は最近プログラミングスクールにて学習をスタートした初学者で、学習していく中で疑問が生じたので記事にしたいと思います。

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の違いに理解できたことは、初学者の私にとって大きな一歩でした。

他にも違いがあるかもしれませんが、追々学んでいこうと思います。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?