0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

インスタンスの扱い方

Last updated at Posted at 2020-02-18

Javaの学習における自分用のmemoです。

インスタンスとは

・クラス(設計図)を具現化したもの
・ヒープ領域に保存される※1
・newと言うキーワードを使って生成する※2

※1 ヒープとは、JVM上で「ユーザが作ったプログラムが利用するメモリ領域」のこと
※2 newはヒープ領域に「新しくインスタンス用の領域を確保する」という意味の命令

参照型変数とは

・インスタンスそのものでなく、インスタンスへの参照(住所のようなもの:リンク情報)が入っている
・オブジェクト型変数とも呼ぶ
・参照がない状態を示す特別な値にnullというのがある

プリミティブ型変数とは

・変数そのものがデータ
・int型やdouble型、char型など
・仕様として提供されている基本的な型

コンストラクタメソッド

・インスタンス生成と同時に自動的に実行される
・メソッド名はクラス名と同じにしなければならない
・戻り値型を記述できない
・インスタンス生成時のみ呼び出し可能
・プログラマーが定義しなくてもコンパイラによって自動的に定義される(デフォルトコンストラクタ)
・プログラム実行時、コンストラクタの処理が終わってから他のメソッドが呼び出せるようになる

ガベージコレクション

・不要になったインスタンスをメモリから自動で破棄してくれる自動メモリ管理機能があり、これを「ガベージコレクタ」という
・ガベージコレクションが実行されるタイミングはガベージコレクタが自動的に判断する
・ガベージコレクタがメモリ内のインスタンスを破棄する行為のこと

オーバーロード

・メソッド名と引数をまとめてシグニチャと呼ぶ
・シグニチャが異なれば異なるメソッドとしてコンパイラやJVMに識別される
・コンストラクタもオーバーロードできる

クラス変数とクラスメソッド

・ヒープ領域の一部にクラスファイルを保管しておき、そこからインスタンスを生成する仕組みがある
・このクラスファイルを保管する領域を「パーマネント領域」と呼ぶ
・static修飾子のついたメソッドやフィールドはstatic領域に作られる
・staticなメソッドやフィールドはインスタンスが生成されていなくても使うことができる
・staticメンバーからインスタンスメンバーにアクセスしようとするとコンパイルエラーになる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?