プログラム言語のパラダイム(手続き型・オブジェクト指向・関数型)とは?ぷろぐらむげんごのぱらだいむ
プログラム言語のパラダイム(手続き型・オブジェクト指向・関数型)とは、プログラムを組み立てる考え方の分類。手続き型は状態を書き換える手順を順に記述し、オブジェクト指向はデータとそれを扱う手続きを1つの単位にまとめて責務で分割し、関数型は入力から出力への写像の合成として記述して状態の書換えを避ける。どれを選ぶかは、変更の影響をどこへ閉じ込めたいかで決まる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
規模が小さいうちは手順を順に書けば足りたが、行数が増えると、どの変数がどこから書き換わるのかを追えなくなる。オブジェクト指向は書換えの範囲をオブジェクトの内側へ閉じることで、関数型はそもそも書き換えないことで、この問題に別々の答えを出した。応用情報では言語の名前ではなく、何を制限することで保守性を得ているかが問われる。
具体例
Javaはオブジェクト指向、Haskellは関数型を代表するが、実務ではJavaのStream APIやJavaScriptのmap/filterのように、1つの言語が複数のパラダイムを備えるのが普通である。並行処理では状態を共有しない関数型の書き方のほうが排他制御を要さず有利になる、という選び方をする。
試験での引っ掛け
オブジェクト指向の三大特徴である継承・カプセル化・多相性の取り違えが定番で、多相性は同じ呼出しに対して受け手の型に応じた処理が動くことを指し、継承の言い換えではない。またパラダイムは言語ごとに1つに決まるものではなく、同じ言語の中で複数の書き方ができる点も押さえる。
関連用語
出た過去問
出典:令和7年度 秋期 応用情報技術者試験 午前 問7(IPA)
OSSとして公開されているプログラム言語であるScalaの特徴はどれか。
正解:オブジェクト指向プログラミングと関数型プログラミングの両方が可能である。
要点:Scalaはオブジェクト指向と関数型を融合した静的型付け言語
ScalaはJVM上で動作するオープンソースの言語で、クラスやトレイト(複数クラスに混ぜ込める機能の部品)によるオブジェクト指向と、高階関数(関数を引数や戻り値として扱う関数)・不変データを扱う関数型プログラミングの双方を統合している点が最大の特徴である。静的型付け言語であり、型推論によって記述量を抑えられる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。