[JAVA]참조변수

라영진·2023년 9월 8일
0

Java 학습일지

목록 보기
33/35

JAVA에서는 포인터가 따로 없으며, 일단 기본적인 매개변수는 Call by Value라고 생각한다.
하지만, 예외적으로 배열과 클래스는 참조변수로 Call by Reference로 작동한다.

포인터:메모리 주소를 가리키는 변수
배열과 클래스: 데이터 요소를 순차적으로 저장하는 데이터 구조로, 인덱스를 사용하여 요소에 접근한다

그렇다면, 전달받은 배열이나 클래스는 어떻게 Call by Value처럼 기존의 참조값을 건들지 않고 사용할까?

ex) Call by Reference
void dfs(boolean[] check) {
check[0] = true

//dfs(....)
}

ex) Call by Reference -> Call by Value처럼 사용하는 법
void dfs(boolean[] check){
boolean[] callByValueCheck = check;

callByValueCheck[0] = true; //check 참조가 아님.
//check[0] = true;

//dfs(....)

}

배열이나 객체를 참조로 넘길때는 "참조"인지 "값만 가져올것인지"를 판단하여 매개변수를 유의하며 사용해야한다.

profile
보더콜리 2마리 키우는 개발자

0개의 댓글