자바 Call by Reference vs Call by Value

욱2·2023년 4월 5일
0

Java

목록 보기
10/13

값에 의한 호출 vs 참조(값의 주소)의 의한 호출을

사실 자바가 전자인지 후자인지는 더 검색해서 이해해야할것 같다.

//간단한 예제 a 를 2함수에 넣는다고 가정하자. 
int a = 1; 
ChangeValue( a ){
System.println.out("value of a : " + a )
}
ChangeValue( aCopy ){
aCopy = 12;
}
============================================
결과는 value of a = 1;
stack 에 a = 1 이라고 저장되고 aCopy는 12 라고 저장된다.  
call by value

그리고

Animal animalObj = new Animal( );
ChangeValue( animalObj ){
animalObj.eyes = 2
}ChangeValue ( Animal animalObjCopy ) {
animalObjCopy.eyes =12;
}
이러면 eyes는 12 로 저장된다. 
Passing memory address itself 참조하는 주소값이 변하면서 참조되는 2변수다 영향을 준다.

참조형의 == 는 주소를 비교하고

기본형의 == 은 값을 비교한다

자세한 내용: https://bcp0109.tistory.com/360

일단은 개인적인 생각은 :

The Value and Value of Reference 이기 때문에 Call by Value 라는것이다. 결국 참조하는것도 주소값이기 때문에 Value라고 한다.

더 좋은 예를 가져오겠습니다. 일단 대기요

profile
성장하는 날 위한 기록

0개의 댓글