본문 바로가기

SW 아카데미 3기/JAVA

[JAVA] 인스턴스

목차

    728x90
    반응형
    SMALL

    메모리의 힙(Heap) 영역에 객체가 생성된다.

    이렇게 실체화된 객체를 인스턴스라고 말한다.

     

    인스턴스란, 정의된 클래스를 바탕으로 객체를 실체화한것.

     

    인스턴스를 만드는 실체화 과정을 인스턴스화라고 한다.

     

    인스턴스만들기

    선언된 클래스가 있는 상태에서 new 연산자와 함께 클래스명을 호출한다.

     

    new 연산자를 사용하면 힙(Heap) 메모리 공간에 인스턴스를 생성한 뒤, 생성된 메모리 주소(번지)를 반환한다.

     

    new 연산자로 반환된 메모리 주소를 변수에 저장하면 인스턴스를 활용할 수 있다.

    즉 값이 직접 저장되는 것이 아니라 주소값이 저장되므로 인스턴스변수는 참조타입 변수이다.

     

    인스턴스를 참조타입 변수에 저장하는 방식은 클래스명, 변수명, new연산자 후 클래스명을 호출하면 된다.

     

    실제로 참조타입 변수가 인스턴스 주소를 가리키게 된다.

     

     

    동일한 클래스에서 인스턴스를 두번 생성해보자.

    각각 new 연산자로 Person()

    실제 메모리 영역에서 확인해보면 위와 같다. 각 인스턴스는 별개의 메모리 주소를 가지고있고, 거기에 각각 인스턴스가 생성되어 있다.

     

    클래스가 같아도 new연산자로 새로 생성할때마다 별개의 새 인스턴스를 만들어낸다.

     

    객체와 인스턴스는 다른 개념이다.

    객체가 인스턴스를 포괄하는 개념이며, 인스턴스는 특정 클래스로부터 메모리에 실체화된 특정 객체를 말하고, 객체는 개념적으로 인스턴스를 모두 포괄하는 정의이다.

     

    예를 들어 A인스턴스와 B 인스턴스는 모두 객체이다. 라고 말할 수 있는 것이다.

     

     

     

    📁 내용1

     

     

    📁 내용2

     

     

     

     

     

     

     

    출처

    [CNU SW 아카데미 3기] 프로그래머스, 백엔드 미니 데브코스 - JAVA기초, DAY2 "클래스의 객체, 배열"

     

    728x90
    반응형
    LIST