問7 Scala の特徴

応用情報​技術者試験 令和7年度 秋期 午前、全80問のうちの問7。

出典:令和7年度 秋期 応用情報技術者試験 午前 問7

OSS として公開されているプログラム言語である Scala の特徴はどれか。

  1. アオブジェクト指向プログラミングと関数型プログラミングの両方が可能である。
  2. イクラスの多重継承が可能である。
  3. ウ実行前にコンパイルして,ネイティブコードを生成する必要がある。
  4. エ変数の型が,参照する実際の値によって実行時に決定される動的型付け言語である。
答えと解説を開く

正解はアです。

Scala は、クラスとオブジェクトで組み立てるオブジェクト指向の書き方と、関数を値として扱い、値を書き換えずに処理をつなぐ関数型の書き方の両方を、1 つの言語で使えるように作られています。この特徴を述べたアが正解です。

ほかの選択肢が違う理由

  • イScala のクラスは、Java と同じく 1 つのクラスしか継承できません。複数の振る舞いを混ぜるには、クラスではなくトレイトという仕組みを使います。
  • ウScala は普通、JVM で動く中間のコード (バイトコード) にコンパイルします。ネイティブコードを作るのは必須ではありません。
  • エScala は、コンパイルの時点で型を決めて確かめる静的型付けの言語です。型推論があるので型を書く量は少なくて済みます。

仕組み

関数型の書き方では、値を後から書き換えず、入力から出力を作る関数を組み合わせて処理を書きます。同時に動く処理どうしで値の取り合いが起きにくいのが利点です。

Scala は JVM の上で動くので、Java のライブラリをそのまま呼び出せます。大量のデータを分けて処理する Apache Spark も Scala で書かれています。

この問に出る言葉