はじめに
未経験で入社した私が3ヶ月かかって Java Silver (SE 17) に合格した体験記です。
最初は「コードが読めない」「AIに頼りきり」という状態でしたが、資格勉強を通じてJavaの体系的な理解が深まりました。
私が経験した「無駄な時間の使い方」を反省材料に、短期間で効率よく合格するためのノウハウを共有します。
結論:SE 17は「黒本」+「新機能の理解」が鍵
- Java Silverは黒本と紫本を正しく使えば独学で十分合格できる
- 暗記よりも「なぜコンパイルエラーになるのか」を説明できることが重要
- Java SE 17試験では、11にはなかった新機能(レコード型、シールクラス、switch式の拡張など)が追加されている点に注意。
合格には黒本が必須ですが、17試験では「見たことがない初見の問題」が数問出題される傾向にあります。確実に合格したい場合は、紫本の模擬問題で応用力を養っておくことをおすすめします。
なぜJava Silverを受けようと思ったか
- 業務でJavaを触り始めたが、知識が断片的で「おまじない」で書いていた
- AI頼りでコードの意図を正確に読み解けなかった
- 研修でローコードやBIツールなど多くの技術を並行して学ぶ必要があり、Javaの基礎を固める時間をあえて作る必要があった
受験概要
- 試験: Oracle Certified Java Programmer, Silver SE 17
- 学習期間: 3ヶ月
-
使用教材:
- 黒本: 『徹底攻略 Java SE 17 Silver 問題集』
- 紫本: 『オラクル認定資格教科書 Javaプログラマー Silver SE 17』
- YouTube: せかチャン(概念の視覚的理解に最適)
基本は黒本を中心に学習しました。
わからない概念はChatGPTに「中学生でもわかるように教えて」と聞き、土台を作ってから問題に戻るスタイルが効率的でした。
黒本を使い倒す3つの鉄則
-
最初から悩まない(1周目は爆速で)
「考えても答えが出ない時間」は最も無駄です。1周目は5分考えてわからなければ答えを見て、解説を理解することに全力を注ぎましょう。 -
「なぜ他が不正解か」を言語化する
正解を当てるのは簡単です。消去法の理由(「これは戻り値の型が違うからオーバーライドできない」など)を説明できるようにします。 -
コンパイルエラーと実行時エラーを切り分ける
Java Silverの最頻出問題です。「構文ルール(文法)ミス」か「動かした時の論理ミス」かを意識して解きましょう。
試験に効いた「重要トピック」の深掘り
1. データ型と型昇格
byte や short の演算結果は、自動的に int に昇格されます。
byte a = 1;
byte b = 2;
// byte c = a + b; // これはコンパイルエラー! (a + b は int 型になるため)
2. オブジェクト指向(継承・カプセル化)
オーバーロード(Overload): 同じ名前で引数が違うメソッドを「積み上げる(Load)」イメージ。
オーバーライド(Override): 親のメソッドを子で「塗り替える(Ride)」イメージ。
アクセス修飾子: protected は「同じパッケージ + 異なるパッケージでも継承関係があればOK」という特殊な立ち位置なので要注意です。
3. 例外処理
チェック例外: Exception の子。回復の可能性があるため、try-catch や throws が強制される。
非チェック例外: RuntimeException の子。バグなので対処は強制されない。
try-with-resources: リソースは宣言した順の**逆(LIFO: 後入れ先出し)**で閉じられます。
4. 標準API(String / List)
Stringは不変(Immutable): concat しても元の文字列は変わりません。
ラッパー型: Integer など。本来は「Listなどのコレクションでプリミティブ型を扱えない」ために用意されたものです。
学習の進め方(5周のサイクル)
1周目: 解説を読み、用語に慣れる(理解度20%)
2周目: 実際に解いてみる。解説を熟読(理解度50%)
3周目: 間違えた問題だけ解き、AIに「なぜダメか」を質問して潰す(理解度75%)
4・5周目: 模擬試験で時間配分を意識。9割以上取れるまで繰り返す。
試験当日のアドバイス
CBT形式に慣れる: フラグ機能を使って、自信がない問題は後回しにしましょう。
最初の直感を信じすぎない: Silverはひっかけ問題が多いです。一呼吸置いて「アクセス修飾子は大丈夫か?」「セミコロンは忘れていないか?」を再確認。
**コードを頭から読まない:**コードが最終的に何をやりたいのか、なんのオブジェクトを呼び出しているのかざっくり把握してから細部を見ましょう。
合格した後の変化
「コードを読む体力」がついた: 以前はコードを紐解く糸口が見つからない状態でしたが、今はロジックを追えるようになりました。
Java Goldへの意欲: 基礎が固まったことで、より高度な機能(Stream APIやラムダ式)を学ぶ土台ができました。
まとめ
Java Silverの取得に時間をかけた分、仕様への理解やオブジェクト指向がなぜ発明されたのかなどのそもそも論を深めることが出来ました。
プログラムの基礎を学習するのに最適な試験です。未経験の方や体系的な知識を付けたい方は取得するのをおすすめします!