[Java 객체지향] 인스턴스와 힙메모리

2022. 1. 24. 23:41·Java & Kotlin

인스턴스

  • 클래스는 객체를 생성하기 위해 속성과 기능을 정의해놓은 코드의 집합이다.
  • 하나의 클래스에서 여러 개의 객체가 생성될 수 있는데 이를 인스턴스라고 한다.
  • 각 인스턴스들은 다른 멤버변수 값을 가진다.
  • 인스턴스는 new 키워드를 이용해 생성한다.

 

예제 코드

  • 앞에서 짰던 StudentTest 클래스 코드에서 studentLee, studentKim 두개의 인스턴스를 생성했다.
  • 각 인스턴스를 출력해보자
package ch03;

public class StudentTest {

    public static void main(String[] args) {

        Student studentLee = new Student();

        System.out.println(studentLee);

        Student studentKim = new Student();

        System.out.println(studentKim);



    }
}

 

수행 결과
ch03.Student@2f92e0f4
ch03.Student@28a418fc

 

  • 패키지이름과 클래스 뒤에 뜨는 것은 각 인스턴스가 저장된 주소값을 가리킨다.
  • 각자 다른 주소에 저장되기 때문에 인스턴스가 여러개 존재할 수 있는 것이다.
  • 참조 변수 : 생성된 인스턴스를 가리키는 변수
  • 참조 값 : 생성된 인스턴스의 주소 값

 

힙메모리

  • 인스턴스는 힙이라는 동적메모리에 할당된다.
  • C 또는 C++ 에서는 free라는 키워드로 메모리를 해제해줘야 하지만, 자바에서는 Garbage Collector가 주기적으로 사용하지 않는 메모리를 해제해준다. (매우 편리)
저작자표시 비영리 변경금지 (새창열림)

'Java & Kotlin' 카테고리의 다른 글

[Java 객체지향] 생성자  (0) 2022.01.25
[Java 객체지향] 클래스 생성하고 메서드 구현해보기  (0) 2022.01.24
[Java 객체지향] 함수와 메소드  (0) 2022.01.24
'Java & Kotlin' 카테고리의 다른 글
  • [Java 객체지향] 참조 자료형 변수
  • [Java 객체지향] 생성자
  • [Java 객체지향] 클래스 생성하고 메서드 구현해보기
  • [Java 객체지향] 함수와 메소드
Sue
Sue
개발 공부 로그
  • Sue
    Sue's devlog
    Sue
  • 전체
    오늘
    어제
    • 분류 전체보기 (122)
      • Algorithm (2)
      • WEB (8)
      • Java & Kotlin (83)
      • Spring (26)
      • Database (1)
      • Infra (0)
      • Git (1)
      • devlog (1)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Sue
[Java 객체지향] 인스턴스와 힙메모리
상단으로

티스토리툴바