Technology

引数のメリット|なんで引数なんて必要なのか?

2020-12-08

引数、なんとなく概念としては理解できるけど、なんで引数をわざわざ使わなきゃいけないのか。もやもやしてたので自分なりに整理。


引数のメリット

主なメリットとしては、関数を再利用することができ、効率的という点が挙げられる。


実際の例:

では実際に、五人兄弟の自己紹介を引数ありと引数なしで書いてみる。


引数あり

引数あり


簡潔。コードは全部で17行。


引数なし

引数なし。


めちゃくちゃ長くなる。コードは全部で43行。スクショに入りきらなかった。一応コードを全部載せる。

import java.util.*;

public class Main {
    public static void main(String[] args){
        // メソッドの呼び出し、引数の名前と年齢を渡して実行
        Hello1();
        Hello2();
        Hello3();
        Hello4();
        Hello5();
    }

    // メソッドの定義
    public static void Hello1() {
        String name = "山田太郎";
        int age = 30;
        System.out.println( "私は" + name + "です。" + age + "才です");
    }
    
    public static void Hello2() {
        String name = "山田二郎";
        int age = 25;
        System.out.println( "私は" + name + "です。" + age + "才です");
    }
    
    public static void Hello3() {
        String name = "山田三郎";
        int age = 20;
        System.out.println( "私は" + name + "です。" + age + "才です");
    }
    
    public static void Hello4() {
        String name = "山田四郎";
        int age = 15;
        System.out.println( "私は" + name + "です。" + age + "才です");
    }
    
    public static void Hello5() {
        String name = "山田五郎";
        int age = 10;
        System.out.println( "私は" + name + "です。" + age + "才です");
    }
}


とにかく長い。


でも書けてるし、問題ないじゃんと思ったが

では、これをFacebookとかで例えてみる。何十億というユーザーがいるようなサービスでひとつひとつ関数を地道に書くのは実質不可能。

基礎の学習で、なんとなく学んでる概念がどう役立つのかよくわからなくても、規模とか変えて考えてみると、また違った見方ができるのかなと思った。

-Technology