Camera c1 = new Camera();
Camera c2 = new Camera();
c1.name = "카메라1";
c2.name = "카메라2";
System.out.println(c1.name); // 카메라1
System.out.println(c2.name); // 카메라2
c2 = c1;
System.out.println(c1.name); // 카메라1
System.out.println(c2.name); // 카메라1
c2.name = "고장난 카메라";
System.out.println(c1.name); // 고장난 카메라
System.out.println(c2.name); // 고장난 카메라
간단하게 설명하자면 c1, c2이 각각 잡고 있던 풍선(객체)이 있었는데
c2 = c1;하면서 c2가 c1이 들고 있는 풍선(객체)를 잡게 된 것이다.
그래서 이후에 c2의 name을 "고장난 카메라"로 바꿨을 때 c2가 들고 있는 풍선(객체)가 c1도 잡고 있는 거기 때문에 둘다 "고장난 카메라"로 값이 변한다.
int a = 10;
int b = 20;
b = a;
System.out.println(a); // 10
System.out.println(b); // 10
b = 30;
System.out.println(a); // 10
System.out.println(b); // 30