こんにちは!
フリーランスエンジニアのかたやまです。
今回は、関数・メソッドについて解説します。
関数とメソッドは、プログラミング学習で必ず出てくる考え方の1つです。プログラミングで必ず使う考え方なので、全員が理解しておくべき内容です。
難しいコードは書かずに、簡単に解説していくので、ぜひ最後までご覧ください。
では、始めましょう!
関数とメソッドの違い
はじめに、「関数とメソッド」の違いを説明しておきます。
結論から言うと、「ほぼ同じ」です。
「ほぼ」と言った理由は、若干の違いがあるからです。ただし、私の意見は「使い分け不要!同じものとみなしてOK!」です。気にするほどの違いがないからです。実際に、7年以上エンジニアをやってきたのですが、この2つを呼び分けている人に出会ったことはありません。私も「関数」と言うときもあれば「メソッド」と言うときもありますが、同じ意味として使っています。
ということで、この記事では「関数=メソッド」と理解してください。そして、今回の解説では、「関数」という表現で統一したいと思います。
関数って何?
関数を一言で表すと、「データを入れると、決められた処理をおこなって、データを返すもの」です。
抽象的な説明になってしまいましたが、順番に解説するのでご安心ください。具体的にExcelの関数や、身近な体験で考えると分かりやすいです。例えば、
- ExcelのSUM関数に合計したい範囲を入れると、合計が出てくる
- 文章を入れると、文字数が返ってくる
- 自動販売機にお金を入れて、ボタンを押すとジュースが出てくる
- 車のアクセルを踏むと、車が前進する
- スマートスピーカーに「今日の天気は?」と聞くと、現在地の今日の天気を答えてくれる
これからは全て、何かを入れると処理をして何かを返してくれます。このようなイメージでプログラミングをするときには、「データを入れると、決められた処理をおこなって、データを返す」ことができる関数が頻繁に登場します。
ちなみに、プログラミング用語で関数に入れるものを「引数」、返してくれるものを「戻り値」と呼びます。
関数が必要な2つの理由
関数について詳しく解説する前に、なぜプログラミングにとって関数が必要なのか学んでおきましょう。必要な理由は2つあります。
1.使いまわすため
1つ目の理由は、使いまわすためです。使いまわすことで、効率的にやりたいことが実行できます。
関数は、「決められた処理を行ってくれる」ので、何度も登場する処理は、関数にしておくと使いまわすことができます。
例えば、スマートスピーカーで、今日の天気を聞かれた場合を考えてみましょう。ユーザーがどのように聞いてくるか予想できないので、以下のように複数の状況を想像します。
- もし「今日の天気は?」と聞かれたら、気象庁の天気予報から、今日の天気を検索して、答える
- もし「今日の天気を教えて」と聞かれたら、気象庁の天気予報から、今日の天気を検索して、答える
- もし「How is the weather today?」と聞かれたら、気象庁の天気予報から、今日の天気を検索して、答える
この例を見ると、3つの例すべてで「気象庁の天気予報から、今日の天気を検索して、答える」という決まった処理を行っています。この処理を関数にして、「関数A」とした場合、以下のようになります。
- もし「今日の天気は?」と聞かれたら、関数Aを実行
- もし「今日の天気を教えて」と聞かれたら、関数Aを実行
- もし「How is the weather today?」と聞かれたら、関数Aを実行
このように決まった処理を関数にして使いまわすことで、より効率的にコードを書くことができます。
2.同じコードを書くことを減らすため
2つ目の理由は、同じコードを書くことを減らすためです。同じコードを何度も書くと、修正が発生したときの労力が増えてしまいます。
例えば、先ほどのスマートスピーカーの例で考えてみましょう!
天気予報の情報源を「気象庁」から「Yahoo!天気」に変更してくださいと依頼があった場合、以下の例だと修正が3か所必要になります。
- もし「今日の天気は?」と聞かれたら、気象庁の天気予報から、今日の天気を検索して、答える
- もし「今日の天気を教えて」と聞かれたら、気象庁の天気予報から、今日の天気を検索して、答える
- もし「How is the weather today?」と聞かれたら、気象庁の天気予報から、今日の天気を検索して、答える
ただし、「気象庁の天気予報から、今日の天気を検索して、答える」という決まった処理を「関数A」とした場合は、修正するのは関数Aの1か所だけになります。
このように同じコードを書くことを減らすことで、編集に強いコードを書くことができます。
関数をつくる4ステップ
関数の具体的な使い方について、解説します。関数を作るには4ステップ必要です。
1.関数名を決める
ステップ1は、「関数名を決める」です。
関数には、必ず関数名が必要です。関数を使うときには、この関数名を呼び出す必要があります。
分かりやすい関数名にすることも大切です。Excelの「SUM」関数や「IF」関数のように用途が想像できる名前を考慮しましょう!
2.引数を決める
ステップ2は、「引数を決める」です。
引数とは、関数に渡すデータのことです。関数の目線でいえば、処理する対象のデータになります。
例えば、2つの値を足し算を行う関数であれば、「2つの値」が引数です。
ちなみに、引数は「なし」でも問題ありません。例えば、「東京都の現在の天気を取得する」という関数の場合のように、やることが明確に決まっている場合などは、引数は必要ありません。
3.処理をつくる
ステップ3は、「処理をつくる」です。
関数で行う処理をつくります。
例えば、2つの値を足し算を行う関数であれば、「2つの引数を足す」が処理です。
4.戻り値を決める
ステップ4は、「戻り値を決める」です。
戻り値とは、関数から受け取るデータのことです。関数の目線でいえば、返却するデータになります。
例えば、2つの値を足し算を行う関数であれば、「2つの引数の合計値」が戻り値です。
まとめ
今回の「関数・メソッド」の解説は以上です。
簡単にまとめると、関数は「データを入れると、決められた処理をおこなって、データを返すもの」と理解していただければOKです。
では、また次回!