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이라는 인터페이스를 제공해주고 있다. 객체복사는 차후에 배우게 될 것이다.

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

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
68 Java 3.6.7 결론 IT장인 2013.12.28 420
» Java 3.6.6 MotorCycle m = new MotorCycle() IT장인 2013.12.28 895
66 Java 3.6.5 참조 변수의 타입 IT장인 2013.12.28 512
65 Java 3.6.4 참조 변수끼리의 할당 IT장인 2013.12.28 538
64 Java 3.6.3 참조 변수의 특징 IT장인 2013.12.28 1109
63 Java 3.6.2 참조값의 원리 IT장인 2013.12.28 644
62 Java 3.6.1 객체의 메모리 생성 IT장인 2013.12.28 308
61 Java 3.5.5 private 멤버 필드를 사용하는 이유 IT장인 2013.12.28 1977
60 Java 3.5.4 private의 사용 이유 IT장인 2013.12.28 282
59 Java 3.5.3 private에 접근하는 방법 IT장인 2013.12.28 2634
58 Java 3.5.2 private의 접근과 컴파일 에러 IT장인 2013.12.28 717
57 Java 3.5.1 접근제어란? IT장인 2013.12.28 474
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6