PROFESSIONAL GAME CREATOR SCHOOL G学院 用語集

OFFICIAL SITEへ戻る

副作用

 副作用とは、コンピュータプログラミングにおける意味合いとしては、ある機能がプログラム上のデータを変化させ、それ以降の演算の結果に影響を与えることを指します。噛み砕いて言えば、数学的関数は本来計算結果を返すことが目的ですが、その過程で周囲の状態を変化させてしまうことを指します。このような状態の変化はバグに繋がる可能性があるため、副作用という名で呼ばれています。
 一般的な例では、プログラミングにおける関数の利用です。まず副作用の無い関数とは、「演算内容が引数にのみ依存し、演算結果は戻り値のみ影響する」というものです。そのため、関数引数として変数を指定する時、その値のみを渡すこと(値渡し)が理想的です。ところが、引数の参照(アドレス)を渡した場合(参照渡し)、関数引数の内容を変更することができてしまい、演算の過程で引数の値が変わってしまう可能性があります。この場合、関数の処理前後で引数となる変数の値が変化してしまうことが副作用です。
 関数型プログラミングでは、原則として副作用が出ないようにプログラミングを行います。

用語集一覧へ戻る