int[] arr01 = {10};
int[] arr02 = {10};
int[] arr03 = arr01;
arr03[0]=20;
System.out.println(num01+":"+num02); // 서로 다른 주소값 출력
System.out.println(arr03[0]+":"+arr01[0]);
// 같은 주소에 있는 데이터를 이름만 달리하고 호출하기에 동일한 데이터를 갖고 있다.
class Person{
int age;
String name;
} // 사용정의 class선언
public static void main(String[] args) {
Person p01;
p01 = null; // 객체는 초기화를 stack영역에 null로 한다.
// 이때 heap영역의 객체는 생성되지 않았다.
System.out.println(p01); // null출력
}
System.out.println(p01.age); // java.lang.NullPointerException 에러발생
p01 = new Person(); // 객체가 heap영역에 생성된다.
System.out.println(p01.age); // int의 초기값 0 출력
cf) 모든 객체는 객체가 생성됨과 동시에 구성요소들이 초기화된다. 숫자는 0, 객체(String 포함)는 null로 초기화