LINEグループで理解するオブジェクト指向
― クラスとオブジェクトを身近な例でイメージする ―
1. はじめに
プログラミングの学習で必ず出てくる「オブジェクト指向」という言葉。
クラスやインスタンスといった専門用語を使って説明されても、「結局何なの?」と感じる人も多いはずです。
そこで今回は、ほとんどの人が使っているLINEのグループ機能を例にして、オブジェクト指向の基本をわかりやすく解説します。
2. もしLINEグループが1つしか作れなかったら?
想像してみてください。
もしLINEグループが1つしか作れなかったら…
- 家族の会話
- 友達との雑談
- 仕事のやりとり
これらが全部1つのグループで混ざってしまうことになります。
これでは情報がごちゃごちゃして、とても不便です。
3. LINEグループは「設計図」から作られている
実際のLINEでは、必要なだけグループを作ることができます。
この仕組みをプログラミングの言葉に置き換えるとこうなります。
- クラス(Class):グループの設計図「グループ名」「メンバー」「メッセージ履歴」など、どんな情報や機能を持てるかを決めています。
- オブジェクト(インスタンス):設計図から作られた実物「家族グループ」「友達グループ」「仕事グループ」など、設計図をもとにして作られたそれぞれのグループです。それぞれのオブジェクトは同じ型(クラス)でも、入っている情報は違います。
4. 図解でイメージ
[クラス] LineGroup
├─ グループ名
├─ メンバー一覧
└─ メッセージ履歴
[オブジェクト] 家族グループ
├─ 名前: "家族"
├─ メンバー: {母, 父, 私}
└─ 履歴: 「夕飯は何にする?」
[オブジェクト] 友達グループ
├─ 名前: "高校の同級生"
├─ メンバー: {A, B, C}
└─ 履歴: 「土曜に飲み会しよう」
同じ設計図でも、中身はまったく異なる実物が作れるのがオブジェクト指向です。
5. C#で書くとこうなる
class LineGroup
{
public string Name;
public List<string> Members = new List<string>();
}
class Program
{
static void Main()
{
var familyGroup = new LineGroup();
familyGroup.Name = "家族";
familyGroup.Members.Add("母");
familyGroup.Members.Add("父");
familyGroup.Members.Add("私");
var friendsGroup = new LineGroup();
friendsGroup.Name = "友達";
friendsGroup.Members.Add("A");
friendsGroup.Members.Add("B");
Console.WriteLine($"{familyGroup.Name} グループ: {string.Join(", ", familyGroup.Members)}");
Console.WriteLine($"{friendsGroup.Name} グループ: {string.Join(", ", friendsGroup.Members)}");
}
}
上の例では、LineGroup というクラス(設計図)から familyGroup と friendsGroup という2つのオブジェクト(実物)を作っています。
6. まとめ
- クラスは設計図
- オブジェクト(インスタンス)は設計図から作られる実物
- 設計図は1つでも、実物は必要なだけ作れる
LINEグループのように、同じ仕組みで複数の実物を作れることがオブジェクト指向の大きなメリットです。
これを理解すれば、ゲームのキャラクター、アプリの画面、データの管理など、あらゆる場面で応用できます。
このあと発展的に「ゲームのキャラクター」を同じ例えで説明すれば、初学者でもプログラムに落とし込みやすくなります。
ディスカッション
コメント一覧
まだ、コメントがありません