Contents

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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


3.3.6 값복사와 매개변수의 전달

자바에서 메서드를 호출할 때 매개변수가 전달되는 방식은 전부 값복사의 기법을 이용하고 있다. 즉 값복사를 이용해서 매개변수를 전달한 후 메서드를 호출하는 것이다.

□ 매개변수의 전달
◇ 자바의 매개변수의 전달은 값복사의 기법만을 사용한다.
◇ 이것을 값에 의한 호출(Call By Value) 또는 값복사에 의한 호출이라고 한다.

다음 구문에서 값복사의 의미를 되새겨 보자.

▒ sumB() 메서드의 선언
 
int sumB(int x, int y){
         int c;
         c = x + y;
         return c;
 }

▒ 메서드의 호출
 
int a = 3;
int b = 4;
int c = sumB(a,b);

지금까지 배운 것을 기초로 해서 본다면 다음 3가지가 메서드를 호출할 때의 값복사에 해당한다.

□ 값복사의 예 I
◇ x = a; //메서드를 호출할 때 값복사 발생
◇ y = b; //메서드를 호출할 때 값복사 발생
◇ c = sumB(a,b); //메서드의 리턴값을 c의 메모리에 값복사

알고 보면 다음의 구문도 메모리로 데이터를 값복사하는 행위에 해당한다.

□ 값복사의 예 II
◇ int a = 3;
◇ int b = 4;
◇ c = x + y;

자바에서는 값복사의 기법만이 존재한다. 이후에 배우게 될 모든 매개변수의 전달이나 모든 할당은 값에 의한 복사(Value Copy)에 해당한다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
44 Java 2.1.3 구조체 만들기 IT장인 2013.11.22 361
43 Java 2.1.4 구조체의 사용 IT장인 2013.11.22 356
42 Java 2.1.5 클래스로 가는 길목 IT장인 2013.11.22 314
41 Java 2.2.1 클래스 만들기 IT장인 2013.11.22 333
40 Java 2.2.2 클래스의 사용 IT장인 2013.11.22 358
39 Java 2.2.3 메모리 생성 연산자 IT장인 2013.11.22 361
38 Java 2.2.4 사용자 정의 데이터 타입 테스트 IT장인 2013.11.22 659
37 Java 2.3.1 클래스와 데이터 타입의 관계 IT장인 2013.11.22 385
36 Java 2.3.2 자바에서 사용하지 않는 구조체 IT장인 2013.11.22 380
35 Java 2.3.3 클래스의 역할 IT장인 2013.11.22 353
34 Java 2.3.4 클래스와 데이터베이스 IT장인 2013.11.22 353
33 Java 2.3.5 클래스와 메모리 IT장인 2013.11.22 314
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6