Must Have 이재환의 자바 프로그래밍 입문 책을 읽고 정리한 글입니다.

new 연산자에 의해 힙 영역에 동적으로 생성됨
public class Ex02_MemoryInHeap1{
public static void main(String[] args){}
}main()메서드를 첫 메서드로 실행시킴main()메서드가 반드시 있어야 하고 public으로 접근 가능해야 함static 지시자 표시를 하여 메모리의 특정 영역에 따로, 미리 로딩시켜놓음Book book1 = new Book();
new 연산자와 Book() 생성자를 이용하여 객체를 힙 영역에 만듦
객체를 참조할 수 있게 객체를 관리하는 내부적인 표에 자기 위치를 등록시킴 (id - 힙 영역 위치)
힙 영역에 Book 객체를 동적으로 만들어 저장함
(생성되는 객체의 크기는 클래스마다 천차만별이기 때문에 힙 영역에 동적으로 만들어 저장됨)
스택 영역에 book1 변수를 만들고, 그 객체를 참조할 수 있는 id값을 대입 받음
(스택 영역에는 정해진 크기의 값들만 저장됨 ex.id, book1을 참조 변수라고도 함)
Book book2 = new Book();
book1과 book2는 서로 다른 id값을 참조함book1과 book2는 힙 영역의 서로 다른 객체를 참조함book1 = null;
null을 대입하는 것을 참조를 끊는다고 표현함Book book3 = book1;
book3과 book1은 같은 기존 객체를 가리키게 됨