Chapter 5
クラスとオブジェクトの用語を順に解説します。
クラスとオブジェクトとは クラスとオブジェクトとは、Javaをはじめとするオブジェクト指向プログラミング言語の中核をなす最も基本的な概念対です。 「クラス(Class)」とは、プログラム内で取り扱うデータ構造(属性 / フィールド)と、それに対する操作(振る舞い / メソッド)を定義した「設計図(金型)」のことです。 一方「オブジェクト(Object / インスタンス)」とは、その設計図であるクラスを基にして new キーワードによりメモリ(ヒープ領域)上に実際に生成された「実体」を指します。 単一のクラス(設計図
コンストラクタとは コンストラクタ(Constructor)とは、クラスのオブジェクト(インスタンス)が new キーワードによって生成される瞬間に、自動的に一度だけ呼び出される特別な初期化用メソッドのような構造体です。 主な役割は、生成された直後のオブジェクトのフィールド(メンバー変数)に初期値を設定したり、必要なリソースの確保処理を行ったりすることです。 コンストラクタの名称は「所属するクラス名と完全に同一」でなければならず、メソッドと異なり「戻り値の型(void も含む)」を一切記述してはいけないという決定的
アクセス修飾子とは アクセス修飾子(Access Modifier)とは、クラス、フィールド、メソッド、コンストラクタなどのプログラム要素に対して、他のクラスからの「参照・呼び出しの公開範囲(アクセス権限)」を制御するためのキーワードです。 Javaには「public」「protected」「パッケージ不可視(指定なし / package-private / デフォルト)」「private」の4段階のアクセスレベルが存在します。 不必要な外部からのデータ書き換えを防いでシステムの安全性を保つ「カプセル化(情報隠蔽)
staticメンバとは staticメンバ(静的メンバ / クラス変数・クラスメソッド)とは、個々のオブジェクト(インスタンス)に所属するのではなく、クラスそのものに属するフィールドやメソッドのことです。 定義の際に static キーワードを付与することによって宣言されます。 static フィールド(クラス変数)は、そのクラスから生成されたすべてのインスタンス間で単一の記憶領域が共有されます。 また、static メソッド(クラスメソッド)や static フィールドは、オブジェクトを new で生成することな
パッケージとインポートとは パッケージとインポートとは、多数のJavaクラスを名前空間(Namespace)ごとに整理・分類し、クラス名の衝突を防ぐとともに、他パッケージのクラスを呼び出すための仕組みです。 「パッケージ(package)」はディレクトリ構造と連動したクラスのフォルダ分けであり、ソースコードの最先頭行に package パッケージ名; と記述して指定します。 「インポート(import)」は、別のパッケージに所属するクラスを自身のプログラム内で簡潔に使用するための宣言であり、import パッケージ
カプセル化とは カプセル化(Encapsulation:情報隠蔽)とは、オブジェクト指向プログラミングの三大要素(カプセル化・継承・ポリモーフィズム)の1つであり、オブジェクトのデータ(フィールド)への直接の外部アクセスを制限し、決められた操作(メソッド)経由でのみアクセスを許可する設計手法です。 具体的には、クラスのフィールドのアクセス修飾子を private に設定して外部から隠蔽し、値の取得用メソッド(ゲッター / getter)と値の設定・検証用メソッド(セッター / setter)を public で公開
オブジェクトのライフサイクルとは オブジェクトのライフサイクルは、newによる生成、参照を通じた利用、到達不能化、ガベージコレクション対象化までの流れです。 具体例 変数がスコープを外れても別の参照が残れば回収対象にはなりません。System.gc()の呼出しは回収の保証ではなく、実行時へ要求を伝えるだけです。 もう少し詳しく この用語は単独で暗記せず、目的、入力、処理、結果、適用できない境界の順に説明できるようにします。実務では前提条件と評価基準を明記し、期待した結果と実測結果を区別します。 似た用語を見分けると
公式資料へのリンクと確認日を各記事に掲載しています。