##前提
こちらは、swiftをudemyで学んで数週間の人間が、キータで初めて書いた記事になります。
「です、ます」調で書いています。判断留保の部分を断定してしまっているリスクがあります。なので、何かしらの間違いがあることを前提に読んで頂けると、幸いです。また、もし自分の表現に間違いや、認識の甘さがありましたら、ご教示頂けると嬉しいです。どうぞよろしくお願いいたします。
##class、instanceとは?
classとは、「設計や仕様」で、instanceとは、「製品」に例えられます。
例えば、自動車には、classとinstanceがあります。
自動車でいうclassとは、車の色、車の座席の数、など記述されている設計を指します。
一方、instanceとは、設計図から作られた自動車という製品🚗のことです。
##class,instanceを使う目的・メリットとは?
「設計」にかかるコスト(時間、労力など)を省けるからです。
そもそも、何かを作るのに、「設計」と、「生産」という2つ過程が必要です。この前者の「設計」にかかるコストを削減できるのが、class,instanceを使うメリットです。
車の例で説明してみます。全ての自動車🚗には、基本的に、必要な部品と機能があります。例えば、ハンドル、アクセル、ブレーキなどの部品は全ての車にあります。また、ハンドルを回せば、方向を変えられる、アクセルを踏むと車は前進する、ブレーキを踏まえば、停車するなどの全ての車に共通する機能があります。これらは、まとめて、設計図(class)に書きます。
設計図(class)があれば、あとは、工場で生産をして、具体的な製品(instance)にするだけです。ゼロから、「自動車とは何か」、「自動車を作るには、どんな部品が必要か」など、18紀の産業革命の時に考えられてきたことを、21世紀の現代において、考える必要はありません。そのため、自動車の設計書(class)のおかげで、自動車を生産する際、自動車を設計するコストを払うことなく、沢山の自動車を生産(instance)することができます。
これと似たようなことを、コード上で、class、instaceを使ってできるそうです。
そうすると、コードをシンプルに短く書けて、エラーも起こりにくく、他の人がみても理解しやすくなるという効果が得られます。以上が、swiftのclass,instanceの説明になります。初学者が説明していることなので、何かしらの間違いや、飛躍している部分があると思います。
もし、ご指摘がありましたら、ご教示頂けると幸いです。