Contents

조회 수 895 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


3.6.6 MotorCycle m = new MotorCycle()

지금까지 참조 변수에 대해서 알아보았다. 여러분은 객체를 생성하는 단 한 줄의 구문으로 많은 시간을 투자한 것이다. 단 한 줄이지만 그만한 가치가 있었을 것이다. 마무리하는 의미에서 다시 정리를 해보자.

□ MotorCycle m = new MotorCycle();
◇ MotorCycle : 새로운 사용자 정의 데이터 타입
◇ m : MotorCycle 데이터 타입으로 선언한 참조 변수(객체 변수)
◇ new : 메모리를 생성하는 연산자, 참조값을 리턴한다.
◇ MotorCycle() : 메모리 생성 후 해당 메모리의 초기화 작업을 담당하는 생성자

이쯤에서 결론을 내려보자.

□ 결론
◇ 객체 변수는 참조 변수다.
◇ 객체의 이름은 참조값(Reference)이 할당되기 때문에 다른 참조값을 할당한다 하더라도 실제 객체에 연결된 내부의 메모리는 복사가 되지 않는다. 단순한 참조값에 대한 값복사가 이루어진다.
◇ 참조값만 가지고 있다면 해당 객체를 핸들할 수 있다.

객체를 복사하면 참조값만 복사되기 때문에 클론(clone)이라는 기법을 이용해서 연결된 메모리까지 복사하는 기법이 있다. 이것은 10장의 Object 클래스를 학습하면서 배우게 될 것이다.

□ 메모리 차원의 객체 복사 기법
◇ 객체의 실제 메모리를 복사하기 위해서 클론(clone)이라는 기법을 사용한다.

이 절에서 나오는 객체의 할당에서 가장 중요한 부분은 바로 객체는 참조값이라는 것이다.

주소의 참조값 즉 레퍼런스(Reference)라는 것은 할당을 하더라도 단순한 레퍼런스만 복사될 뿐 객체의 메모리는 복사되지 않는다. 객체를 복사할 수 없기 때문에 자바에서 객체에 대한 메모리 차원의 복사를 위해서 Cloneable이라는 인터페이스를 제공해주고 있다. 객체복사는 차후에 배우게 될 것이다.

여기서는 객체끼리 할당하려고 한다면 당연히 데이터 타입이 같아야 한다는 것과 할당이 이루어질 때 참조값만이 복사된다는 것을 기억해두기 바란다.

  1. 3.6.7 결론

    Date2013.12.28 CategoryJava ByIT장인 Views420
    Read More
  2. 3.6.6 MotorCycle m = new MotorCycle()

    Date2013.12.28 CategoryJava ByIT장인 Views895
    Read More
  3. 3.6.5 참조 변수의 타입

    Date2013.12.28 CategoryJava ByIT장인 Views512
    Read More
  4. 3.6.4 참조 변수끼리의 할당

    Date2013.12.28 CategoryJava ByIT장인 Views538
    Read More
  5. 3.6.3 참조 변수의 특징

    Date2013.12.28 CategoryJava ByIT장인 Views1109
    Read More
  6. 3.6.2 참조값의 원리

    Date2013.12.28 CategoryJava ByIT장인 Views644
    Read More
  7. 3.6.1 객체의 메모리 생성

    Date2013.12.28 CategoryJava ByIT장인 Views308
    Read More
  8. 3.5.5 private 멤버 필드를 사용하는 이유

    Date2013.12.28 CategoryJava ByIT장인 Views1977
    Read More
  9. 3.5.4 private의 사용 이유

    Date2013.12.28 CategoryJava ByIT장인 Views282
    Read More
  10. 3.5.3 private에 접근하는 방법

    Date2013.12.28 CategoryJava ByIT장인 Views2634
    Read More
  11. 3.5.2 private의 접근과 컴파일 에러

    Date2013.12.28 CategoryJava ByIT장인 Views717
    Read More
  12. 3.5.1 접근제어란?

    Date2013.12.28 CategoryJava ByIT장인 Views474
    Read More
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6