初心者、基礎を積み上げる「class」
**クラスとは?
構造体はひとまとまりの意味のあるデータを実現するために使い、クラスはシステムを構成する構造や役割を与えられて動作する単位を実現するために使われるものだと考えて進めていきます。クラスはC言語などのポインタのようにインスタンスが参照されて代入や譲渡されます
。
つまり、親の同じインスタンスに代入する時mutatingをつけなくていいということなんですねー。構造体や列挙型と違うところの一つです!
同じインスタンスを参照するならクラス
コピーしたインスタンスを持ってくるなら構造体
クラスと継承
クラスのと特徴といえば「継承」です。構造体、列挙体と違うところですね。
では継承とは何か?
端的に言うと、スーパークラス(親クラス)のプロパティ、メソッドなどほとんどのものを引き継ぐことです。まさに継承の意味そのものですね!
ただイニシャライザ(init)だけは基本的に継承しません。
この辺の詳しいことは追い追いやります。