プロパティとメソッドの違いをポケモンに例えて解説する

プログラミングでよく出てくる「プロパティ」と「メソッド」って、いまいち違いがわかりません…!
猫男
猫男
catman
catman
ふふふ… その悩み、catmanがスパッと解決してやろう!今回はポケモンでバッチリ説明していくぞ。

プロパティとメソッドの違いは?

プログラミングにおいて、「オブジェクト」という考え方があります。

オブジェクトには大きく分けて2つの要素があります:

  1. 💎 プロパティ(property):状態・特徴
  2. ⚔️ メソッド(method):動き・行動

ポケモンで考えてみよう!

ポケモンという存在を、オブジェクトとして例えるとわかりやすいです。

たとえば、「ピカチュウ」というポケモンがいたとしましょう。

🔹 プロパティとは(状態・データ)

「プロパティ」はポケモンの“持っている特徴”のことです。

例えば:

  • 名前(name) → ピカチュウ
  • タイプ(type) → でんき
  • レベル(level) → 25
  • HP(hp) → 100

こういった情報はすべて「プロパティ」になります。

 const pikachu = {
    name: 'ピカチュウ',
    type: 'でんき',
    level: 25,
    hp: 100
 }; 

⚔️ メソッドとは(行動・技)

「メソッド」はポケモンの“できること”です。たとえば:

  • attack() → こうげきをする
  • levelUp() → レベルアップする
  • run() → にげる
 pikachu.attack = function() {
    Logger.log(this.name + ' の こうげき!⚡');
 }; 

呼び出すとこうなります👇

 pikachu.attack(); // → ピカチュウ の こうげき!⚡ 
なるほど…!「HP」とか「レベル」はプロパティで、「こうげき!」はメソッドなんですね!
猫男
猫男
catman
catman
そのとおりだ!「何を持っているか」がプロパティ、「何ができるか」がメソッドって覚えておけばOK!

プロパティとメソッドの違いまとめ

分類 役割 ポケモンでの例
プロパティ 状態・特徴 名前・タイプ・HP・レベルなど
メソッド 行動・機能 こうげき・にげる・進化するなど

コードでざっくりまとめると…

 const pikachu = {
     name: 'ピカチュウ', // ← プロパティ
     hp: 100, // ← プロパティ
     attack: function() { // ← メソッド
         Logger.log('こうげき!⚡');
 }
 }; 
プロパティとメソッドの違い、すっごくしっくりきました!
猫男
猫男
catman
catman
それは良かった!ポケモンのように、キャラに“特徴”と“わざ”があると思えばOKだ!

📝 練習問題:プロパティとメソッドの違いを見分けよう!

問題1:次のうち、プロパティに該当するものはどれ?

  • A. ピカチュウが「こうげき!」する
  • B. ピカチュウの「レベル」
  • C. ピカチュウが「にげる」
  • D. ピカチュウが「進化する」

問題2:次のうち、メソッドに該当するものはどれ?

  • A. 名前が「フシギダネ」
  • B. タイプが「くさ・どく」
  • C. HPが「50」
  • D. フシギダネが「たねマシンガン」を使う

問題3:次のコードの中で「メソッド」はどれ?


const pikachu = {
  name: 'ピカチュウ',
  hp: 80,
  attack: function() {
    Logger.log('こうげき!⚡');
  }
};
  • A. name
  • B. hp
  • C. attack
  • D. Logger.log

問題4:次の文章のうち、正しいものはどれ?

  • A. メソッドとは「数値データ」のこと
  • B. プロパティは「関数」そのものである
  • C. プロパティはオブジェクトの特徴・状態
  • D. attack() はプロパティである

 

 

✅ 解答と解説

問題1:正解 → B. ピカチュウの「レベル」

解説:「レベル」はポケモンの状態=プロパティ。他の選択肢は「動作」で、メソッドです。

問題2:正解 → D. フシギダネが「たねマシンガン」を使う

解説:技や動作はメソッド。A〜Cは状態=プロパティです。

問題3:正解 → C. attack

解説:attack は「関数」として定義されており、これはメソッドです。name や hp はプロパティです。

問題4:正解 → C. プロパティはオブジェクトの特徴・状態

解説:プロパティは数値や文字列などのデータで、オブジェクトの特徴を表します。メソッドは関数であり、動作を定義します。

補足💡

GASでいうと、`getValue()` のような「動作するもの」はメソッド

取得した値や変数(例:`value`)はプロパティに該当します。

 

これで「プロパティ」と「メソッド」の違い、完全にマスターできました!
猫男
猫男
catman
catman
その調子だ!次は“クラス”や“インスタンス”にも挑戦してみようぜ!