オブジェクト指向 Java プログラミング入門 第 2 版
オブジェクトシコウジャバプログラミングダイニハン
- 著者:
- 樋口 昌宏 / 多田 昌裕 / 半田 久志 / 加藤 暢 / 波部 斉(ヒグチ マサヒロ / タダ マサヒロ / ハンダ ヒサシ / カトウ トオル / ハベ ヒトシ)
- 出版社:
- 近代科学社
- 出版日:
- 2018年03月09日頃
- ISBN:
- 9784764904958
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
はじめにオブジェクト指向を学ぶと理解が早い!!
著者らの長年のブログラミング授業経験が結実したオブジェクト指向ブログラミング教科書である。一般にオブジェクト指向プログラミングの入門授業は、基本的な構文から入り、オブジェクト指向へ進むことが多い。しかし、この順だと、オブジェクト指向の理解が後回しとなり理解しきれないままになってしまうことが多々ある。
著者らはこのことを打開すべく、導入授業で簡単なオブジェクト指向プログラミングの例を教えたところ、思いのほか学生は難しさを感じず、プログラミング授業の途中からオブジェクト指向を学んだときより、理解度が進んだのである。
1.Java 言語でプログラミングしよう
2.オブジェクト生成とメソッド呼出し
3.クラスの定義
4.基本的な処理の記述
5.さまざまなデータ構造
6.メッセージパッシング・委譲
7.継承・抽象クラス
8.インタフェース
9.クラス定義に関する諸技術
10.ファイル操作
11.ラムダ式とストリーム
技書の森解説
Java の文法を一通り覚えてからオブジェクト指向に進むのではなく、最初の段階からオブジェクトを作って動かすところに入る、大学の入門講義向けの教科書です。『オブジェクト指向 Java プログラミング入門 第 2 版』 (樋口 昌宏 監修、多田 昌裕、半田 久志、加藤 暢、波部 斉 著、近代科学社、2018 年 3 月発売) は、版元の紹介文で「はじめにオブジェクト指向を学ぶと理解が早い」と打ち出しており、著者らの長年の授業経験が結実した教科書と説明しています。
オブジェクト指向を先に教える Java 教科書の考え方
入門授業の多くは、変数や条件分岐、繰り返しといった基本的な構文から入り、後半でクラスや継承に進みます。紹介文によれば、この順序ではオブジェクト指向の理解が後回しになり、理解しきれないまま終わってしまうことが多く、著者らが導入の授業で簡単なオブジェクト指向プログラミングの例を教えたところ、学生は思いのほか難しさを感じず、途中から学んだときより理解が進んだといいます。手続き型の書き方に慣れきってから オブジェクト指向 に移ると、すべてを 1 つのメソッドに書き込む癖が抜けにくく、クラスに分ける理由が実感できないまま文法だけを覚えることになりがちです。最初からオブジェクトを生成し、そのメソッドを呼び出す形でプログラムを書き始めれば、データとそれを扱う処理をひとまとまりで考える見方が自然に身につきます。
全 11 章の構成、オブジェクト生成からラムダ式とストリームまで
目次はこの方針どおりの順序です。1 章で Java 言語の概要に触れた後、2 章でオブジェクトの生成と参照、メソッド呼び出しを扱い、3 章で長方形を表すクラスを題材にクラスの定義とオーバーロードを学びます。識別子や基本データ型、式と演算子、実行の流れの制御といった構文の基礎は 4 章に置かれ、5 章で配列と ArrayList、HashMap を扱います。6 章ではオブジェクト指向プログラミングの考え方をメッセージパッシングと委譲の観点から整理し、7 章で継承と 抽象クラス、継承におけるポリモーフィズムへ進みます。8 章はインタフェースとデフォルトメソッド、9 章はパッケージやアクセス制御、クラス変数、列挙型、10 章はファイル操作と例外処理です。最後の 11 章は命令型から宣言型への考え方の転換としてラムダ式とストリームを扱っており、Java 8 で加わった機能を入門の範囲に含めています。2 章以降の各章には演習問題と解が付き、巻末に文献と索引があります。
演習問題と講義資料、合う読者と注意点
ラムダ式とストリームは、処理の手順を一つずつ書く代わりに何をしたいかを宣言的に書く、関数型プログラミング の考え方を Java に取り入れた機能です。コレクションをストリームで加工する書き方は実務の Java のコードでも頻繁に現れるため、入門の段階でこの章まで触れておくと、既存のコードを読むときの助けになります。また版元は、教科書として採用した教員向けに著者作成の資料を用意していると案内しており、本書は授業で使われることを前提に組み立てられた教科書です。独学で使う場合は、各章の演習問題を自分で解いて動かすことが理解の確認手段になります。一方で、Spring などのフレームワークを使った開発手法や、設計パターンを体系的に学びたい人には範囲が合いません。2018 年刊のため、それ以降の Java で加わった機能も扱っていません。
Java で初めてプログラミングを学ぶ大学生、授業でクラスや継承につまずいて考え方から学び直したい人、入門講義の教科書を選んでいる教員にとって、オブジェクトを先に教える順序と章ごとの演習がそろった本書は、検討する価値のある一冊です。ほかの言語や教材も含めて最初の一冊を比べたい場合は、プログラミング言語の入門書の選び方 もあわせて参考になります。
言及した記事 (12 件)
【11万文字越え】プログラミング初心者に贈る即戦力ガイド
♡ 1518Python, オブジェクト指向, リファクタリング, リーダブルコード, 初心者MVC、3 層アーキテクチャから設計を学び始めるための基礎知識
♡ 760オブジェクト指向, 初心者, mvc, DDD, 設計「オブジェクト指向とは、現実世界を正しく捉えること」という理解はデメリットのほうが大きい
♡ 317オブジェクト指向, ポエム, 新人プログラマ応援CPUからOSまで自作してみた話(コンパイラ・OS編)
♡ 71初心者, コンパイラ, 構文解析, コンピューターサイエンス, コンピュータシステムの理論と実装JEITAソフトウェアエンジニアリング技術ワークショップ2020「プログラミング言語の進化と未来」開催報告
♡ 56Ruby, Go, Rust, プログラミング言語, オブジェクト指向プログラミング技術的マイノリティプロジェクトで幸せに過ごすための5つの方法
♡ 47C#, ポエム【Laravel】誰でも出来る!sessionを使用したカート機能実装の完全解説!! - 後編 -
♡ 33PHP, 配列, session, laravel5.8オブジェクト指向って何?RPGで理解する超入門
♡ 4オブジェクト指向, 初心者向け, ゲーム開発, プログラミング教育, Java入門「徹底攻略 Java SE 11 Silver 問題集」から学ぶオブジェクト指向設計
♡ 3Java, オブジェクト指向VTuberと一緒に学ぶC#プログラミング入門【#1】~Hello Worldを読んでみたよ
♡ 3C#
この本に興味がある方におすすめ
関連する本
関連記事
写経を超える - 技術書のコードを自分のプロジェクトに応用する方法
技術書のサンプルコードを写経するだけでは実力は伸びません。書籍のコードを自分のプロジェクトに応用し、実務で使える力に変える 5 つのステップを解説します。
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
コードを書かない日に読む本
休日や有給休暇など、コードを書かない日にこそ読むべき本があります。実装から離れた日に読むと効果が高い本のジャンルと、その理由を解説します。
関連用語
S3 ライフサイクル
S3 オブジェクトのストレージクラスを自動的に移行し、コストを最適化する機能
エンティティと値オブジェクト
DDD における 2 つの基本的なドメインモデル要素 - 同一性で区別するエンティティと、値で区別する値オブジェクト
オブジェクト指向
データと操作をオブジェクトとしてまとめ、現実の概念に近づけて設計する考え方
Flyweight パターン
多数のオブジェクト間で共有可能な状態を分離し、メモリ使用量を削減するデザインパターン
Builder パターン
複雑なオブジェクトの生成をメソッドチェーンで段階的に構築するデザインパターン
S3
AWS のオブジェクトストレージサービスで、無制限のデータを高い耐久性で保存する