5章 クラスの宣言とインスタンス化 Flashcards

1
Q

クラス

A

オブジェクトの属性と操作を定義するもの。

属性:個々のオブジェクトの特性や状態。何らかのデータであり変数で管理。

操作:オブジェクトの振る舞い(動作)。処理を記述したメソッドで定義。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

メンバ

A

クラス内のオブジェクトに必要な属性と操作を、変数とメソッドで定義したもの。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

クラス宣言

A

オブジェクトの属性と操作を定義するもの。
[ 修飾子 ] class クラス名 {}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

修飾子

A

クラスやメソッド、変数などのアクセス権限や動作の特性を指定するキーワード

大きく分けて以下の2種類がある。

  1. アクセス修飾子
    ・public
    ・protected
    ・default (指定なし)
    ・private
  2. 非アクセス修飾子
    ・static
    ・final
    ・abstract
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

public

A

アクセス修飾子
どのクラスからでもアクセス可能

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

protected

A

アクセス修飾子
同じパッケージ内、またはサブクラスからアクセス可能

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

default (指定なし)

A

アクセス修飾子
同じパッケージ内からのみアクセス可能

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

private

A

アクセス修飾子
同じクラス内からのみアクセス可能

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

static

A

非アクセス修飾子
インスタンスを作成せずに使用可能

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

final

A

非アクセス修飾子
値の再代入・オーバーライド禁止

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

abstract

A

非アクセス修飾子
インスタンス化不可・サブクラスで実装が必要

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

メンバ変数宣言

A

オブジェクトの変数を保持する変数の宣言
[ 修飾子 ] データ型 変数名;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

メンバメソッド宣言

A

オブジェクトの操作を行うメソッドの宣言
[ 修飾子 ] 戻り値の型 メソッド名(引数リスト){
 処理;
 [ return 戻り値 ;]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

this.アクセスしたいメンバ

A

自分自身のオブジェクトを意味するキーワード。
自オブジェクトのメンバ(変数やメソッドなど)にアクセスするときに記述。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

オブジェクトの生成

A

クラスを元にオブジェクトを生成するときにはnewキーワードを使用。

クラス名 変数名 = new クラス名();
または
クラス名 変数名;
変数名 = new クラス名();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

オブジェクトへのアクセス

A

クラスをインスタンス化した後に、作成したオブジェクトのフィールドやメソッドに対して操作を行うこと。
1,クラスを定義
2,オブジェクトを生成 (newキーワード)
3,オブジェクトを参照してフィールドやメソッドにアクセス

変数名. メンバ変数名
または
変数名. メンバメソッド名()

17
Q

カプセル化

A

オブジェクトの属性と関連する操作をまとめて保持すること。
クラス定義の際に、オブジェクトのデータとなるメンバ変数と、そのデータを処理するためのメソッドを一つのクラスに記述することで実現。
アクセス修飾子としてのメンバ変数はprivate、メソッドはpublicを指定。

18
Q

オーバーロード

A

クラス内に名前が同じで、引数リストの定義が異なるメソッドを複数定義すること。

19
Q

シグネチャ

A

メソッド名と引数リストの組み合わせ

public void printItem(String s) {}

printItemとString sがシグネチャ

20
Q

コンストラクタ

A

newキーワードによるインスタンス化のときのみに呼ばれる、オブジェクトの初期化を行う仕組み

記述ルール
・クラスメイト同じ名前で宣言
・戻り値の型宣言は行わない
・引数の引き取りが可能
・オーバーロードが可能

[ 修飾子 ] クラス名 (引数リスト) {オブジェクトの初期化処理}

21
Q

staticメンバ

A

・staticメンバ(クラス変数)
・staticメソッド(クラスメソッド)
クラスに所属するメンバ

22
Q

インスタンスメンバ

A

・インスタンス変数
・インスタンスメソッド
オブジェクトごとに生成されるメンバ

23
Q

staticメンバへのアクセス

A

staticメンバはインスタンス化せずに使用するためクラス名でアクセスします。

クラス名.static 変数名
クラス名.static メソッド名()

24
Q

オブジェクトのライフサイクル

A

オブジェクトが生成されてから破棄されるまでの期間のこと

25
ガベージコレクタ
不要になったオブジェクトを自動的にメモリ領域から回収してくれるJVMの仕組み