プログラム言語 (全18問中2問目)
No.2
Javaの特徴に関する説明として,適切なものはどれか。
出典:平成30年秋期 問8
- オブジェクト指向言語であり,複数のスーパークラスを指定する多重継承が可能である。
- 整数や文字は常にクラスとして扱われる。
- ポインタ型があるので,メモリ上のアドレスを直接参照できる。
- メモリ管理のためのガーベジコレクションの機能がある。
- [出題歴]
- ソフトウェア開発技術者 H16春期 問45
- ソフトウェア開発技術者 H18秋期 問37
分類
テクノロジ系 » アルゴリズムとプログラミング » プログラム言語
正解
エ
解説
- Javaはクラスの多重継承、すなわち複数の親クラスを指定した子クラスの定義をサポートしていません。よって、複数のスーパークラスを指定する多重継承はできません。
- 整数型(int)や文字型(char)は、原則としてクラスではなく基本データ型(プリミティブ型)として扱われます。基本データ型自体はオブジェクトではないためクラスとして扱えませんが、Javaではそれぞれの基本データ型に対応するラッパークラス(int→Integer、char→Character)が用意されていて、これを使用してデータに対する操作を行うことができます。常にクラスとして扱われるわけではないので誤りです。
- Javaはポインタ型をサポートしていないので、メモリ上のアドレスを直接参照することはできません。
- 正しい。ガーベジコレクションは、プログラムが動的に確保したメモリ領域のうち、不要になった部分を自動的に解放して、再び使用可能にする機能です。
従来の(ガーベジコレクションがない)プログラム言語では、プログラマが必要なメモリを確保する命令を記述し、使用後に明示的に解放する必要がありましたが、ガーベジコレクションが採用されている処理系では、不要と判断された時点で自動的にメモリの解放が行われます。
Java言語では、ガーベジコレクション機能が言語仕様に組み込まれているため、プログラマはメモリを確保したいときにだけコードを記述しますが、解放時には明示的にコードを記述する必要がなくなっています。