์ธ์ ์ ๋ฌ ๋ฐฉ์
์๋ฐ๋ ๊ฐ์ ์ํ ์ ๋ฌ(Pass by Value) ๋ฐฉ์๋ง์ ์ฌ์ฉํฉ๋๋ค.
โข
๊ธฐ๋ณธ ์๋ฃํ(Primitive Type): ์ค์ ๊ฐ์ด ๋ณต์ฌ๋์ด ์ ๋ฌ๋ฉ๋๋ค.
void changeValue(int x) {
x = 10; // ์๋ณธ ๊ฐ์ ๋ณ๊ฒฝ๋์ง ์์
}
int num = 5;
changeValue(num);
System.out.println(num); // ์ถ๋ ฅ: 5
Java
๋ณต์ฌ
๊ธฐ๋ณธ ์๋ฃํ์ ๊ฐ์ ๋ณต์ฌํด์ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์
๋ฉ์๋์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํด๋, ๋ณธ๋์ ๋ณ์์ ๊ฐ์ ๋ณํ์ง ์๋๋ค.
โข
์ฐธ์กฐ ์๋ฃํ(Reference Type): ๊ฐ์ฒด์ ์ฐธ์กฐ๊ฐ(์ฃผ์)์ด ๋ณต์ฌ๋์ด ์ ๋ฌ๋ฉ๋๋ค.
void changeArray(int[] arr) {
arr[0] = 100; // ์๋ณธ ๋ฐฐ์ด์ด ๋ณ๊ฒฝ๋จ
arr = new int[5]; // ๋ ํผ๋ฐ์ค๋ฅผ ๋ณ๊ฒฝํจ
}
int[] numbers = {1, 2, 3};
changeArray(numbers);
System.out.println(numbers[0]); // ์ถ๋ ฅ: 100
Java
๋ณต์ฌ
์๋ฐ์์ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ ๋๋ ์ฐธ์กฐ๊ฐ์ด ์ ๋ฌ๋๋ฏ๋ก, ๋ฉ์๋ ๋ด์์ ๊ฐ์ฒด์ ๋ด๋ถ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์๋ณธ ๊ฐ์ฒด์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.



