パッケージ
  ・Javaのクラスを分類するための仕組み
  ・ソースコードの先頭で「package宣言」をすることで、所属するパッケージを指定
  ・階層化して扱える。
  ・デフォルトパッケージ:クラスでpackage宣言をしない場合に所属するパッケージ
  ・各クラスは、パッケージ名とクラス名を「.」で繋いだ完全修飾名で明確に区別

アクセス修飾子
  ・クラスや、クラスのメンバのアクセスレベル(可視性)を指定する修飾子
  ・アクセス修飾子を付けたメンバが利用される範囲を限定
public:異なるパッケージからもアクセス可能
protected:同一パッケージ内のクラス及びサブクラスからアクセス可能
指定なし:同一パッケージ内のクラスからアクセス可能
private:同一クラス内のメンバからアクセス可能
  ・クラスに付けれるアクセスレベルは、「public」と「指定なし」

カプセル化
  ・属性と関連する操作をまとめて同じクラスに定義

アクセサメソッド
  ・getter/setter ともいう。
  ・カプセル化で情報隠蔽されたクラスのメンバ変数の値を設定・取得するメソッド

thisキーワード
  ・インスタンス内のメンバを明示的に指し示すためのキーワード
  ・thisキーワードは、キーワードが書かれているクラスのインスタンス自身を指す。

static修飾子
  ・クラスのフィールドやメソッドに付ける修飾子
  ・static修飾子を付けたメンバ
クラスをインスタンス化しなくても利用できる。
文脈によって様々な呼称で呼ばれる。

オーバーロード
  ・同一クラス内に、同じメソッド名で異なる引数を持つメソッドを定義
メソッド名を変えずに、複数の引数パターンに対応する。

ポリモフィズム
  ・異なる振る舞いを持つオブジェクトを同一の操作で扱うことができる性質
  ・操作している側は、オブジェクトの振る舞いの違いを意識しないで操作できる。
  ・多態性、多様性などという。

インターフェース
  ・外部からの見立てや、振る舞いの使用を定めることに特化した型定義の仕組み
  ・interfaceキーワードを用いて定義
  ・インターフェースには定数や抽象メソッドなど、限られたメンバしか定義できない。
クラスにインターフェースを実装することで利用
  ・インターフェースのメンバ
定数(final扱い)
抽象メソッド(abstract扱い)
defaultメソッド(Java8以降)
staticメソッド(Java8以降)
メンバのアクセスレベルは記述しなくてもpublic
  ・インターフェースの実装
implementsキーワードを用いてクラスに実装
クラスでは、インターフェースの抽象メソッドをオーバーライドする。
インターフェースを実装したクラスは、その型で扱える。(ポリモフィズムの実現)
多重実装可
サブインターフェースの定義可

例外処理
  ・Java標準クラスライブラリのExceptionクラスのサブクラスとして様々な例外クラス
  ・例外発生で例外パターンに応じた例外オブジェクトがJVMから生成されthrowされる。
Throwableクラス:すべてのエラーと例外のスーパークラス
Errorクラス及びサブクラス:ハードウェアなどに関連するエラー
Exceptionクラス及びサブクラス:プログラムにおける一般的な例外で処理が必要
  ・try-catch構文による例外処理
例外をキャッチするための構文
tryブロックで例外が発生すると処理が中断、catchブロックに処理が移る。
  ・throw宣言による例外処理
チェック例外が発生しうるコードを記述する場合、メソッドの呼び出し元に処理を委譲
非チェック例外では、通常、throw宣言はしない。
  ・任意の例外オブジェクトの生成とthrow
例外クラスのオブジェクトは「new演算子」で任意に生成できる。
生成した例外クラスのオブジェクトは、「throw命令」でthrowできる。

Java API
  ・Javaでよく使用される機能を持ったプログラム
あらかじめJDKに用意
  ・Java APIドキュメント
Javaのバージョンにより内容が異なる。

コレクション
  ・要素(オブジェクト)の集合
  ・主なデータ構造
List、Map、Set

Jar(Java ARchive)
  ・多数のファイルを1つのファイルに集約、圧縮するためのファイル形式
jarファイルは、javaコマンドに-jarオプションを付けて直接実行できる。
  ・jarの圧縮方式は、zip方式と同じ
直接拡張子を入れ替えても正常に動作する。
  ・Eclipseで実行可能なjarの作成
ファイル→エクスポート、Java→実行可能JARファイル
エクスポートするプロジェクトの起動構成を選択
jarファイルのエクスポート先、ファイル名を指定→完了

ユーザ定義例外
  ・Exceptionクラスかそのサブクラスを継承して、独自の例外クラスを作成