Java 言語プログラミングレッスン (下) 第 3 版
ジャバ ゲンゴ プログラミング レッスン
- 著者:
- 結城浩(ユウキ, ヒロシ)
- 価格:
- ¥2,640
- 出版社:
- SB クリエイティブ
- 出版日:
- 2012年11月
- ISBN:
- 9784797371260
- 在庫:
- 1
- 判型:
- 単行本
なぜ注目されているか
書籍紹介
技書の森解説
『Java 言語プログラミングレッスン 第 3 版 (下)』 (結城 浩 著、ソフトバンククリエイティブ、2012 年 11 月刊) は、Java の基本文法を学び終えた初心者が、クラス、継承、例外、インタフェースといったオブジェクト指向言語としての Java の特徴を身につけるための入門書です。副題は「オブジェクト指向を始めよう」で、上巻が基本的な文法を扱い、この下巻がオブジェクト指向を中心に扱うという 2 冊の分担になっています。著者は『Java 言語で学ぶデザインパターン入門』などの入門書で知られる結城 浩です。
第 11 章から第 19 章、クラスからコレクションまでの構成
章番号は上巻から続いており、下巻は第 11 章のクラスとインスタンスから始まります。第 12 章でスーパークラスとサブクラス、第 13 章で例外、第 14 章でインタフェースを扱い、第 15 章のガーベッジコレクション、第 16 章のスレッド、第 17 章のパッケージへと進みます。第 18 章はファイル操作と入出力、クラスの調べ方、第 19 章はコレクションです。版元の紹介によれば、たくさんの図表とサンプルプログラムを使ってかみ砕いて説明する方針で書かれており、あわせて Java SE 7 での変更である Project Coin も簡潔に紹介されています。
オブジェクト指向が Java 初心者の難関になる理由
オブジェクト指向 が難しく感じられるのは、文法そのものよりも、なぜそう書くのかという設計の動機が見えにくいからです。変数や if 文、for 文は書いた結果がすぐに目に見えますが、クラスを分ける、継承を使う、インタフェースで型を約束するといった判断は、プログラムがある程度の大きさになって初めて効き目が分かります。サブクラスのインスタンスをスーパークラスやインタフェースの型として扱い、呼び出し側を変えずに振る舞いを切り替える 多態性 は、その代表例です。例外は失敗を戻り値の確認から切り離して扱う仕組み、ガーベッジコレクションは不要になったオブジェクトのメモリを実行環境が回収する仕組み、スレッドは複数の処理を並行して進める仕組みで、どれも Java で実用的なプログラムを書くと必ず向き合う話題です。スレッドに進む前に プロセスとスレッドの違い を押さえておくと、同期が必要になる理由が理解しやすくなります。
上巻の文法を終えた人向け、Java SE 7 時点の内容という前提
前提知識は、上巻で扱う基本的な文法、つまり変数と型、条件分岐、繰り返し、配列、メソッドの書き方です。下巻から読み始めることもできますが、章番号が続いていることからも分かるとおり、上巻の内容を踏まえて書かれています。また本書は 2012 年刊で、Java SE 7 の時点の言語を前提にしています。Java SE 8 で導入されたラムダ式をはじめ、それより後の版で加わった言語機能は範囲に含まれないため、それらは別の資料で補う必要があります。業務で使う Java の版に合わせた書き方や、フレームワークを使った開発の方法を求める人には、目的が合いません。
一方で、クラスとインスタンス、継承、インタフェースといった考え方そのものは版が変わっても土台として残る部分であり、そこを図とサンプルで一つずつ確かめながら固めたい人にとって、本書は確かな足場になります。上巻の文法を終えて次に何を学べばよいか迷っている人や、オブジェクト指向の説明を何度読んでも腑に落ちなかった人が、手を動かしながら理解し直す一冊として選ぶ価値があります。ほかの言語の入門書と比べながら選びたい場合は、プログラミング言語の入門書 の選び方も参考になります。
言及した記事 (2 件)
この本に興味がある方におすすめ
関連する本
結城浩 の他の書籍
関連記事
独学プログラマーが「本の沼」にハマる原因と抜け出し方
独学でプログラミングを学ぶ人が陥りがちな「次の本を探し続けて手が動かない」状態の原因と、具体的な脱出方法を解説します。
Web 開発本ガイド - フロントエンドからバックエンドまで
Web 開発の全体像を学べる技術書の選び方と学習マップを紹介。フレームワーク本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
OS / 低レイヤー本ガイド - コンピューターの仕組みを学ぶ技術書の選び方
OS、コンパイラー、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
関連用語
競技プログラミング
与えられた問題を制限時間内に正確 / 高速に解くプログラミング競技
プログラミング
コンピューターに実行させる手順をプログラミング言語で記述し、動作を作り出す行為
依存グラフとは - モジュール間の依存関係を可視化する方法
依存グラフはパッケージやモジュール間の依存関係を有向グラフで表現する手法。循環依存の検出 / ビルド順序の決定 / 影響範囲分析での活用法を解説
グラフデータベース
ノード (エンティティ) とエッジ (関係) でデータを表現し、複雑な関係性のクエリに特化したデータベース
構造化ログとは - JSON ログの設計と検索性
構造化ログとは、ログを JSON など機械可読な形式で出力し、フィールド単位の検索 / 集計を可能にするロギング手法。非構造化ログとの違い、含めるべきフィールド、失敗パターンを解説
グラフアルゴリズム
ノードとエッジで構成されるグラフ構造に対する探索 / 最短経路 / 接続性の分析アルゴリズム