public class MotorCycleMain {
public static void main(String[] args){
MotorCycle c = new MotorCycle(); //메모리 있는 객체 변수 선언
c.setData(9872, 150);
c.drive();
System.out.println("객체 c : " + c); //객체 출력
System.out.println();//한줄 추가
MotorCycle m = c; //참조값복사
m.drive(); //복사된 참조값을 이용한 메서드 호출
System.out.println("객체 m : " + m); //객체 출력
} //end of main
}
여기에서 MotorCycle m = c로 하면 m은 메모리 할당이 안되었는데도 불구하고 m의 멤버 변수가 값을 가진다는건데 이게 말이 되는거냐? 이해가 안간다.
3번째 라인에서 new를 통해 jvm상의 힙영역에 메모리를 동적할당하고 레퍼런스 변수 c가 그 메모리(객체)를 가리키게 함
c가 가리키고 있는 메모리 주소를 m변수에 복사
m과 c 가 같은 메모리 참조(jvm 상의 가상 메모리 주소)
아 그렇구나 대충 이해된거 같다.
니 ㅇㅅㅎ이지
키야.... 한때 프갤의 최고본좌셨던 수크라제성님께서 예토전생 하신다고 하여 왔습니다. 사스가 수크라제