.net column

.NET開発者のためのブログメディア
ソースコード

【C#概要】クラスとオブジェクトの違いとは

2019年10月24日

C#はオブジェクト指向のプログラミング言語です。
オブジェクト指向にとって欠かすことのできない「クラス」と「オブジェクト」について、また両者の違いなども含めて紹介します。

PG
そもそも、オブジェクト指向ってどのような概念なのでしょうか?
PL
簡単に説明すると、プログラムを上から順番に実行していく手続き型ではなく、物の作成と操作に重点を置いた概念になりますね。

C#でクラスを実装するには (クラスの概念も含めて確認)

クラスには設計図の役割があります。設計図として機能させるためのクラスの代表例として以下の要素を定義することができます。

  1. 名前:クラスそのものの名前を定義します。
  2. フィールド(変数):データを格納します。
  3. プロパティ:フィールドの値を取得または設定するための手段となります。
  4. メソッド(関数):引数を指定して、呼び出し元プログラムから読み込むと、メソッド内のステートメントが実行される。また値を返すことも可能です。

これらの要素を持つオブジェクトをまとめたものがクラスになります。
以下、C#でのクラスを定義する方法です。
ここでは、test classという名前を定義しています。

コンストラクタは、インスタンスが生成された時に必ず実行されるメソッドになります。
ここに初期化処理などをコーディングするのが一般的です。

C#でオブジェクトを作成するには (オブジェクトの概念も含めて確認)

C#でクラスからオブジェクトを作成するには、「new」を使用します。

これをインスタンス化すると呼び、newを使用してインスタンス化することによってクラスがメモリ上に作成されることになります。

これによってオブジェクトが実体化されました。

以下、C#でのインスタンス化の例です。
上記のtest classを利用するために、呼び出し元プログラムで test classをインスタンス化する必要があります。

C#のクラスとC#のオブジェクトの違いとは

現実世界で我々が製品(車など)を作るためにはまず必ず設計図が必要です。概念的には、クラスはこの設計図として機能するものになります。

設計図をもとにして製造された製品(車など)が、オブジェクトになってきます。製品を作るには、両者はともになくてはならない存在というわけです。

PG
オブジェクト指向では、クラスは必ず必要なのでしょうか?
PL
そうです。全てのオブジェクトはクラスから作成されます。クラスの概念の理解は、C#をコーディングするには必要不可欠といえますね。

クラスとオブジェクトの理解がプログラミングを深める

クラスとオブジェクトは、オブジェクト指向のプログラミング言語を学ぶにあたって、はじめに理解が求められる概念であります。
この概念が理解できれば、JavaやPHPなどの他の言語でプログラミングする時にも役立ちますので、この機会に理解を深めてみてはいかがでしょうか。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)