Java初心者におすすめの資格
Javaの資格はいくつかありますが、初心者が取得を目指すのにおすすめの資格としては以下のようなものが挙げられます。
- Oracle認定Javaプログラマ(ブロンズ・シルバー・ゴールド)
- Android技術者認定試験
- Javaプログラミング能力認定試験
「Oracle認定Javaプログラマ」はOracleが認定する資格であり、ブロンズ、シルバー、ゴールドと3つのレベルがあります。
「Android技術者認定試験」はスマホ用OSであるAndroid関連の資格ですが、試験ではJavaに関する知識も問われるので、Javaを勉強するうえで役立つでしょう。
「Javaプログラミング能力認定試験」は、1級~3級に分かれています。学生や社会人、システムエンジニアなど多くの人が受験している試験です。
Oracle認定Javaプログラマ・ブロンズ
資格名 | Oracle Certified Java Programmer, Bronze SE |
---|---|
運営 | Oracle |
試験日 | 通年 |
受験費用 | 15,000円(税抜) |
合格基準 | 60問中60%正解で合格 |
受験資格 | なし |
公式サイト | https://education.oracle.com/java-se-bronze-available-only-in-japan/pexam_1Z0-818 |
試験内容
Javaを使ったオブジェクト指向プログラミングの基礎を身についているかが問われます。Javaの基本文法やオブジェクト指向プログラミングなど、Javaを学んだ方が最初に理解するレベルの内容が試験で出題されます。主な試験の出題範囲は以下の通りです。
- データ型、変数、配列
- クラスの定義
- ループと分岐
- オブジェクト指向
- 継承とポリモーフィズム
出題内容は、変数宣言や制御文などのJavaの基礎部分なので、参考書などをもとにJavaの基本部分をしっかり勉強することをおすすめします。
試験時間は65分と短いので、試験では時間配分もカギです。問題数は60問なので、1問1分程度で解く計算になります。最後に回答を見直す時間も5分ほど確保した方が良いでしょう。試験は、ピアソンVUE公認テストセンターでの受験とオンラインでの受験を選ぶことができます。
難易度
試験は出題数60問であり、全問題の60%を正解すれば合格なので、合格率から見れば特別難しい試験ではありません。
Oracleが開催するJavaの試験の中で、エントリーレベルに位置する試験なので、自己学習を十分行えば初心者でも合格することが可能です。Javaをこれから学ぶ方がオブジェクト指向プログラミングを身につけるのにも適した資格だと言えるでしょう。
勉強方法としては、2020年12月時点では試験がJava SE 11というバージョンで行われるため「Java SE 11」に対応している参考書や問題集を使うのがおすすめです。参考書を使って学習を進め、問題集で理解度をチェックしましょう。
Oracle認定Javaプログラマ・シルバー
資格名 | Oracle Certified Java Programmer, Silver SE 11 |
---|---|
運営 | Oracle |
試験日 | 通年 |
受験費用 | 32,340円(税込) |
合格基準 | 80問中63%正解で合格 |
受験資格 | なし |
公式サイト | https://www.oracle.com/jp/education/certification/1z0-815-jpn-48261-ja.html |
試験内容
Javaアプリケーション開発で必要とされる、基本となるプログラミングの知識を有しているかを問われる試験です。試験に合格すると、Javaのスキル上級者の指導のもとで開発作業ができるスキルを有していることを証明できます。
試験の主な出題範囲は以下の通りです。
- 簡単なJavaプログラムの作成
- Javaの基本データ型、文字列、配列などの操作
- クラスの宣言とインスタンスの使用
- メソッド作成と使用
- カプセル化の適用
- 継承による実装の再利用
- インタフェースによる抽象化
- 例外処理
- モジュールシステム
プログラミングの基礎に加えて、Java SE 9以降の新機能「モジュールシステム」などが理解できているかを試験で確認されます。また、例外処理などにも対応できる能力があるかも試験で評価されます。
Java技術者レベル向けの認定試験であり、シルバーの資格を取得すれば、Javaエンジニアとして一定の評価を得られるでしょう。
なお、ブロンズに合格していなくても最初からシルバーの試験を受験できます。
難易度
Javaでの基本文法、クラス、例外処理など、オブジェクト指向プログラミングでの仕様を理解しているかを試験で問われます。出題内容はブロンズと似た部分もありますが、コードが複雑になり、実際にプログラムを実装するうえで必要となる知識が出題されます。
80問中63%以上正解で資格取得となりますが、Java未経験者でもしっかり勉強すれば試験合格は不可能ではありません。
ブロンズと同じくシルバーも参考書や問題集があるので、それらをもとに勉強する方法がおすすめです。何種類かの参考書や問題集を使って、問題を解けなかった部分やわからない部分を確実につぶしていくことが重要です。
コードが出題され、実行結果がエラーになるといった問題もあるので、エラーになる原因なども問題集や参考書で確認しておきましょう。
Oracle認定Javaプログラマ・ゴールド
資格名 | Oracle Certified Java Programmer, Gold SE 11 |
---|---|
運営 | Oracle |
試験日 | 通年 |
受験費用 | Java SE 11 Programmer II : 32,340円(税込) Upgrade OCJP Java 6, 7 & 8 to Java SE 11 Developer : 29,400円(税抜) |
合格基準 | Java SE 11 Programmer II : 80問中63%正解で合格 Upgrade OCJP Java 6, 7 & 8 to Java SE 11 Developer : 80問中61%正解で合格 |
受験資格 | 前提資格によってGold SE 11認定の試験が異なる 以下のうちいずれかの認定を受けている場合は、「Java SE 11 Programmer II」の受験が可能
以下のうちいずれかの認定を受けている場合は、「Upgrade OCJP Java 6, 7 & 8 to Java SE 11 Developer」の受験が可能
|
公式サイト | https://www.oracle.com/jp/education/certification/1z0-816-jpn-31705-ja.html https://education.oracle.com/ja/upgrade-ocp-java-6-7-8-to-java-se-11-developer/pexam_1Z0-817 |
試験内容
「Oracle Certified Java Programmer, Gold SE 11」は、設計者の意思を正しく理解し、自分自身で機能実装が行えるかどうかを認定する資格です。「Java SE 11 Programmer II」の試験では、並列処理やモジュール型アプリケーションへの移行に関する知識などが理解できているかなどを問われます。試験の主な出題範囲は以下の通りです。
- Javaクラスの設計
- 高度なクラス設計
- ジェネリックスとコレクション
- ラムダ式を使用する事前定義済みの型の使用
- 例外処理とアサーション
- I/Oの基礎
- JavaファイルI/O(NIO.2)
- 並行処理
- JDBCによるデータベースアプリケーション
- ローカライズ
シルバーの資格試験よりも、より高度な内容の問題が出題されます。実務経験が一定年数以上ある経験者向けの資格と言えるでしょう。資格を取得すれば、Javaエンジニアとして設計者の意図を理解して1人の力で機能実装ができるレベルのスキルがあることを証明できます。
なお、Gold SE 11の認定を受けるための試験は2つあり、「Oracle Certified Java Programmer, Gold SE 8」「Oracle Certified Java Programmer, Gold SE 7」「Oracle Certified Professional, Java SE 6 Programmer」の認定資格を持っている人は、「Upgrade OCJP Java 6, 7 & 8 to Java SE 11 Developer」に合格すれば、資格をGold SE 11にアップグレードすることが可能です。
難易度
GoldはOracleのJava資格の中で、最上位の資格です。基本的には実務経験が一定以上あるJavaエンジニア向けの試験であり、中上級者レベルのスキルがないと試験合格は難しいでしょう。
ブロンズやシルバーと同様に参考書や問題集があるので、問題集を解いて学習すると自分のJavaの習得レベルがわかります。実務でどの程度の知識があるかによって、参考書や問題集がどれほど必要となるかも変わりますが、確実に合格を目指すならば参考書や問題集を使って理解を深めていきましょう。
Android技術者認定試験
資格名 | Android技術者認定試験 |
---|---|
運営 | 一般社団法人IT職業能力支援機構 Android技術者認定試験制度委員会 |
試験日 | 通年 |
受験費用 | 15,000円(税抜) |
合格基準 | 全問題の70%以上の正解 |
受験資格 | なし |
公式サイト | http://ace.it-casa.org/ace/about/ |
試験内容
「Android技術者認定試験」では「アプリケーション技術者認定試験」と「プラットホーム技術者認定試験」の2つの試験が実施されており、それぞれ「ベーシック」と「プロフェッショナル」の2レベルがあります(2020年12月時点ではベーシックのみの実施)。
Androidでのアプリケーション開発を目指す方はアプリケーション技術者認定試験が適しており、プラットフォーム開発を目指す方はプラットホーム技術者認定試験を受けると良いでしょう。
ベーシックは開発の基本部分、プロフェッショナルは高度な開発者向けの試験内容となっており、資格を取得すればAndroid開発の知識やJavaのスキルを有していることを証明できるのみならず、組み込み技術者としてのスキルチェックにも役立ちます。もちろん得られた知識を業務でのJava開発で役立てることも可能です。
以下の項目は、どの試験でも共通の出題項目です。
- 開発環境
- NDK、JNI
- デバッグ技術
- デバッグ手法
Androidアプリケーション技術者認定試験では、以下の項目も出題されます。
- Androidプログラミング
- Javaプログラミングの知識
- スクリプト言語
- オブジェクト指向
- Android基本知識(アプリ視点)
Androidプラットフォーム技術者試験では、以下の項目も出題されます。
- Linuxの知識
- ライブラリ概要
- Bionic
- HAL
- 起動シーケンス
- Android基礎知識(プラットホーム視点)
Android技術者認定試験はCBT方式で、全国の会場でほぼ毎日開催されています。
難易度
AndroidやJava未経験者でも、ベーシックは十分に勉強すれば合格は可能と言えるでしょう。
参考書や問題集が市販されており、公式サイトでも「アプリケーション技術者認定試験」の勉強におすすめの書籍が紹介されています。試験勉強するときは、それらの問題集や参考書を使うのがおすすめです。
Javaプログラミング能力認定試験
資格名 | Javaプログラミング能力認定試験 |
---|---|
運営 | 一般社団法人サーティファイ情報処理能力認定委員会 |
試験日 | 3級 : 6月中旬、9月上旬、1月下旬頃(年3回) 2級 : 6月中旬、 1月下旬(年2回) 1級 : 6月中旬(年1回) |
受験費用 | 3級 : 5,200円(税込) 2級 : 6,400円(税込) 1級 : 7,800円(税込) |
合格基準 | いずれの級も全問中60%以上の正解で合格 |
受験資格 | なし |
公式サイト | https://www.sikaku.gr.jp/js/jv/ind/about/ |
試験内容
「Javaプログラミング能力認定試験」は、1~3級に分かれています。3級はJavaの入門者レベルで、2級、1級とレベルが上がっていきます。
出題範囲は、3級はJavaのプログラミング知識の基礎、オブジェクト指向の基礎などを問われます。2級は3級の内容にプラスして、パッケージ、ラムダ式、例外処理など発展的な内容についても出題されます。
スキルレベルの目安としては、3級では、Javaの基本的なプログラミング知識を持ち簡単なプログラムを書けること、2級は一般的なプログラミングの知識や技能を持ち小規模なアプリやアプレットなどのプログラムが作れることと、オブジェクト指向の概念を理解していることが挙げられます。
1級は、オブジェクト指向にもとづいて設計や分析を行い、仕様変更に対応してプログラムの保守ができるレベルが求められます。設計に用いられるユースケース図、シーケンス図、クラス図などの理解も必要です。このことから、1級を合格するにはJavaエンジニアとして実務レベルのスキルが必要と言えるでしょう。
出題形式は3級・2級は選択・穴埋め問題の筆記試験、1級は実技試験です。1級の試験はパソコンを使用し、公開されているプログラムの仕様変更と追加を行い、プログラムと仕様変更書を作成します。コード入力からコンパイル、デバッグまで試験で行います。
難易度
3級はJavaの基礎を身についていれば、合格できるでしょう。ただし、プログラムの空欄を補完する問題が出題されるので、頭で理解するだけでなく、ある程度コードを書き慣れておく必要があるでしょう。2級もまた、しっかりと勉強すれば実務経験がなくても合格できる難易度です。
1級ではJavaの上級レベルの問題が出され、実技試験が行われます。そのため、実務経験があるほうが合格に近づけるでしょう。初心者は開発経験を積んでから挑戦することをおすすめします。
試験の合格率は2019年度の平均で64.7%なので、特別難しい試験というわけではないようです。ただし、級別の合格率は公開されていないため、1級に関してはしっかりと対策をしておくほうが安心です。
試験対策では、推薦書籍や公式の問題集があるので、それを使って勉強することをおすすめします。参考書籍は「入門編」という位置づけの書籍が多いので、3級や2級にチャレンジする場合は、まずはこれらの参考書を使って勉強すると良いでしょう。
問題集は、公式の過去問である「Javaプログラミング能力認定試験過去問題集」シリーズがおすすめです。1級から3級まで出版されています。
関連記事 : Javaプログラマーの仕事内容|未経験から仕事で使えるレベルになるには
Javaの特徴
Javaは、1996年にSun Microsystems社からリリースされたプログラミング言語です。「Write once, Run anywhere」というキャッチフレーズがあり、1度書けばOSを問わずに動くのが特徴です。現在はOracleがJavaを提供しており、システムアプリ、Webサイトなどの開発に用いられています。
なお、似たような名前の言語に「JavaScript」がありますが、2つはまったく違う言語です。Javaは作成したコードをあらかじめコンピューターが理解できるように実行ファイルを作成(コンパイル)しなければならない「コンパイル言語」です。一方のJavaScriptは、記述してその場で実行ができる「スクリプト言語」です。
コンパイル言語であるJavaは、実行時に毎回コードの読み込みを行わなくてよいため、実行速度が速いという特徴があります。また、実行時に読み込みトラブルなどが発生しにくいため安定性があり、企業などの大規模システムでも使われています。そのため、世界中でJavaのフレームワークや多数のライブラリが公開されており、これらをうまく利用することで開発の効率がアップします。
Javaでできること
Javaはシステム開発以外にも、アプリ開発などにも使われています。Javaでできることの例は以下の通りです。
- 業務システム開発
- Androidアプリ開発
- Webアプリ開発
- デスクトップアプリ開発
- 組み込みシステム開発
業務システム開発
Javaは、コードを書いたら実行ファイルを作るので、テキストファイルにコードを書いたものよりもハッキングなどがされにくくなります。動作が速く安定性がありセキュリティも高いので、サーバーや金融業界のシステム開発に使われることもあります。
Androidアプリ、Webアプリ開発
Javaは、AndroidアプリやWebアプリなどのアプリケーション開発にも使われています。たとえば「Twitter」のような大規模なSNSアプリなども作成が可能です。
デスクトップアプリ開発
パソコンにインストールして使うアプリの開発にもJavaが使用されています。たとえばPCゲームでは「Minecraft」が挙げられますし「OpenOffice」という文書作成アプリもまたJavaで開発されています。
組み込みシステム開発
家電などの組み込みシステムにもJavaが使われます。もともとJava開発の目的は組み込みシステムに使うためでした。インターネットと家電を組み合わせたIoT開発にもJavaを使います。
Javaのフレームワーク
フレームワークとは、プログラミング開発のときに土台となる必要な機能が組み込まれた骨組みです。開発に必要なファイルやツールが最初から用意されており、開発を効率化するための道具です。Javaで使われる代表的なフレームワークには以下のものがあります。
- Struts2
- Spark Framework
- JSF
Struts2
「Struts2」は、MVCモデルを取り入れた実装を行うことができるフレームワークです。MVCモデルとは、プログラムをModel(データ)、View(画面)、Controller(制御)に分類し、それぞれ独立させて開発しようという概念です。Struts2を取り入れることで、大規模なシステムを開発する際に、複数の開発担当者が同時に作業を進めやすくなります。ただし、Struts2は脆弱性の懸念から採用を見送ったり、別のフレームワークに移行したりするケースもしばしば見られます。
参考 : IPA(独立行政法人情報処理推進機構)「Apache Struts2 の脆弱性対策情報一覧」
Spark Framework
「Spark Framework」の特徴は、記述が少なくシンプルで動作の軽い開発ができることです。最低限の機能のみ実装しているので小規模なWebサービスなどの開発に適しています。
JSF
「JSF(JavaServer Faces)」は、ユーザーインターフェースを簡単に作れるフレームワークです。開発とデザインを分業して、Javaで開発を行うことができます。
関連記事 : Androidエンジニアの仕事内容
試験勉強は余裕を持って取り組もう
Javaは、業務システム、Webアプリやサービス、組み込みシステムなど、多くの開発現場で使用されています。ITエンジニアとして長く働きたいのであれば、Javaは習得しておくと役立つ言語のひとつです。
Javaのスキルを高めるには、関連する資格を取るのも1つの方法です。初めてJavaを学ぶ方は、初心者向けの資格からチャレンジしてみてはいかがでしょうか。
関連記事 : Web系、業務系、組み込み系の違いとは?
最後に
簡単4ステップ!スキルや経験年数をポチポチ選ぶだけで、あなたのフリーランスとしての単価相場を算出します!
※相場算出に個人情報の取得はおこないません。