반응형

기본형 매개변수 - 변수의 값을 읽기만 할 수 있다.(read only)
참조형 매개변수 - 변수의 값을 읽고 변경할 수 있다.(read & write)

기본형 매개변수

lv(local variable)은 지역변수이다. change 메서드의 x는 지역변수이기에 x = 1000은 아래 메서드에서만 적용된다.
기본형 매개변수는 읽기만 가능하고 값을 바꿀 수 없기 때문에, Data x의 값은 바뀌지 않는다.
만약에, change 메서드에서 Data x의 x 값을 바꾸고 싶으면, 기본형 매개변수가 아니라, 참조형 매개변수로 변경해야 한다.
 

참조형 매개변수
참조형 반환타입

 

단순히 참조형은 객체 주소(정수)를 주고 받는다고 생각하면 된다.

Data3 d2 = copy(d); 여기서 copy에 참조변수가 들어가지 않는 이유는

1. stactic 메서드여서

2. 같은 클래스에 있기 때문에

3. stactic 메서드는 객체 생성없이 호출 가능하다.

그림으로 그려보는 것이 중요하다고 말씀하셔서..

 

반응형