中学生のアヤトは、コンピュータクラブでプログラミングについて学んでいました。プログラミングの授業で「引数」について学び、彼は科学の先生である伊藤先生にさらなる説明を求めました。
「伊藤先生、引数ってどういうものなんですか?実引数、仮引数って何ですか?」とアヤトが尋ねました。
伊藤先生は、引数を手紙のやり取りに例えて説明しました。「アヤト、引数は関数に情報を伝える方法の一つだよ。実引数(じつひきすう)は、関数に送る具体的な情報、例えば手紙の内容だね。一方で、仮引数(かりひきすう)は、手紙を受け取る人が用意する受け皿のようなもの。関数がどんな情報を受け取るかを定義しているんだ。」
「値渡しと参照渡しはどう違うんですか?」とアヤトがさらに質問しました。
「値渡し(あたいわたし)は、実引数のコピーを関数に渡す方法だよ。つまり、元の情報は変わらず、コピーが利用される。参照渡しは、実引数自体への直接的なアクセスを許可する。これにより、関数が元の情報を変更できるんだ。」と伊藤先生は答えました。
引数は、プログラミングのさまざまな分野で使用されます。以下に具体例を挙げます。
def login(username, password):
# usernameとpasswordは実引数
# ユーザー認証処理
public void moveCharacter(Character character, int x, int y) {
// character, x, yは引数
// キャラクターの移動処理
}