Method_호출과 값 전달

2024. 1. 7. 23:55JAVA

자바는 항상 변수의 값을 복사해서 대입한다.

- Call By Value

 

자바의 대원칙이다. 꼭! 반드시! 절대! 기억하자.

이해를 위해 예시를 작성 해보자.

int num1 = 1;
int num2 = num1;
num2 = 10;

System.out.println("num1 = " + num1);	// 1
System.out.println("num2 = " + num2);	// 10

 

변수 num1 에 리터럴 1을 대입하고,

변수 num2 에 num1 의 값을 대입하고,

다시 변수 num2 에 10을 대입한다.

 

다시. 값을 읽고, 변수에 대입한다.

int num2 = num1;	//1

변수 num1 을 변수 num2 에 그대로 대입하는 것이 아니라,

num1의 값을 읽어 num2 에 대입한다. 

복사 , 붙여넣기(대입)

 

num1 을 num2에 그대로 넣은 것이 아니다.

num2를 통째로 대입한 것이라면, num2에 10을 재차 대입했을 때, num1은 없어지는 게 이치에 맞다.

하지만, 출력문을 통해 num1 이 건재한 것을 확인할 수 있다.

 

값을 복사하여 대입(Call By Value) 하기 때문에 그렇다.

 

기억하자.

'자바는 값을 복사해서 붙여넣는다.'

'JAVA' 카테고리의 다른 글

Class_이게 뭔데  (0) 2024.01.10
Method_오버 로딩  (0) 2024.01.10
Method_리턴  (0) 2024.01.07
Method_정의  (0) 2024.01.07
Method  (0) 2024.01.07