Java Silver への道 データ型(参照型)編

参照型

参照型は簡単に言えば基本データ型以外の型のことである。
具体的に参照型には、オブジェクト型、列挙型、配列型がある。
String,Date,Integer,ArrayListなど

参照型を使用する際には基本的にインスタンスを生成する。
(static修飾されているメソッドや変数を使用するときはインスタンスの生成は不要)

*参照型の中でもString型は特別で、基本データと同じような宣言が可能。

参照型の変数

参照型の変数は、オブジェクトへの参照*1を保持しているか、保持していないかのどちらかしか表現できない。
参照を保持していないことを表現するためのリテラルが「null」である。

public class Main {

    public static void main(String[] args) {

        Object obj = null;

        System.out.println(obj);
    }
}

シグニチャ

シグニチャとは、メソッド名と引数のセットのことを指す。
javaにはオーバーロードという仕組みがあるため、メソッドを見分けるためには引数も加える必要がある。

// helloメソッドと引数"pochi"のシグニチャ
        s.hello("pochi");

ガーベッジコレクション

ガーベッジコレクションとは、不要なインスタンスを探し、破棄することを指す。ガーベッジコレクションが起こるタイミングはプログラマーが制御することはできず、JVMが決める。

ガーベッジコレクションの対象となるのは、「どこからも参照されなくなったインスタンス」である。代表的なタイミングとしては、nullを代入したときである。

*1:生成したインスタンスの格納場所を表す値