자바의 자료형은 크게 primitive type와 reference type로 나누어진다.
primitive type의 자료형들은 대표적 byte, char, short, int, long, float, double, boolean이 있으며 해당 primitive type를 제외한 나머지 변수들은 reference 값을 가진다.
primitive type의 변수는 java의 stack 메모리에 값을 가진 채로 저장된다.
반면 reference type의 변수 역시 stack 메모리에 저장되기는 하지만 실제 값은 heap 메모리 영역에 저장되며 선언된 변수는 해당 heap 메모리의 주소 값을 가진채로 stack 메모리에 저장된다.
이러한 주소값을 가진다는 특징 때문에 primitive type과는 달리 여러 변수가 하나의 주소값을 가질 수 있다.
힙 메모리의 일정 부분을 할당하여 객체를 인스턴스화 하는 과정이다. new 키워드는 해당 객체의 생성자를 호출하며(class에 생성자가 없으면 java가 기본 생성자를 만들어준다.)
선언, 인스턴스화, 초기화의 단계를 거친다.
이전에는 int[][] score = new int[5][5]
는 위 그림처럼 행과 열을 가지는 2차원 배열이라고 이해하고 있었다.
.이 붙은 객체의 인스턴스에 접근한다.