객체 참조를 담은 변수를 다른 변수에 할당하면 같은 객체 참조를 두 개 갖는다.
ArrayList<String> people = friends;
// 이제 people과 friends는 같은 객체를 참조한다.
공유된 객체를 변경하면 두 참조로 해당 변경 사실을 알아낼 수 있다. 다음 호출을 보자.
people.add("Paul");
이제 배열 리스트 people의 크기는 2가 되는데, friends도 마찬가지다(그림 2-2 참고). (물론 기술적으로 보면 people이나 friends의 크기가 2라는 것은 사실이 아니다. 결국 people과 friends는 객체가 아니다. 크기가 2인 배열 리스트 객체의 참조다.)
▲ 그림 2-2 같은 객체에 대한 두 참조