인스턴스

인스턴스(instance)

인스턴스(instance)프로그램 상에서 만들어진 객체를 의미하며, 객체와 크게 구분하지 않고 사용한다.

클래스 생성

다음과 같은 클래스가 존재할 경우, 이를 이용하여 인스턴스를 생성할 수 있다.

Message.java
public class Message{

}

인스턴스 생성

인스턴스 생성 코드는 다음과 같다.

Message a = new Message();

Message는 데이터의 형태이며, 참조형으로 만들어진다. a는 참조변수(Reference)라고 부르며, new는 객체를 생성하기 위한 연산자이다.

a를 이용하여 인스턴스를 제어할 수 있으며, 현재는 클래스에 아무것도 작성되어 있지 않기 때문에 할 수 있는 것이 없다.

인스턴스는 원하는 만큼 생성할 수 있다. 한 개의 인스턴스를 더 생성해본다.

Message b = new Message();

실제 메모리상에 저장되는 정보는 다음과 같이 두 개로 늘어난다.

각각의 참조변수(Reference)들은 서로 다른 인스턴스(instance)를 가리키며, 상호간에 영향을 미치지 않는 독립적인 존재이다. 이는 참조변수를 출력하여 확인할 수 있다.

System.out.println(a);
System.out.println(b);

실행하면 클래스경로@일련번호 형태의 값이 출력되며, 일련번호가 주소가 아님을 주의한다. 자바는 주소가 외부로 드러나지 않는다.

코드

전체 코드는 다음과 같다.

Message.java
public class Message{

}
OOPExample01.java
public class OOPExample01{
    public static void main(String[] args){
        Message a = new Message();
        Message b = new Message();
        System.out.println(a);
        System.out.println(b);
    }
}

Last updated