1. ์ฐธ์กฐ ๋ณ์์ ์ผ๋ฐ ๋ณ์์ ์ฐจ์ด
์ผ๋ฐ ๋ณ์๋ ๊ฐ ์์ฒด๋ฅผ ๋ณ์์ ๋ฐ๋ก ์ ์ฅ.
์ฐธ์กฐ ๋ณ์๋ ๊ฐ์ด ๋ค์ด์๋ ์ฃผ์๋ฅผ ๋ณ์์ ์ ์ฅ
(์์ธํ ๊ฑด ๋ฐ์ ์์ธํ ํ์ด์ผ์ผ๋ ์ฐธ๊ณ ํด์ฃผ์ธ์.)
https://dalcheonroadhead.tistory.com/68
2. a=b; ์ดํ b์ ๋ค๋ฅธ ๊ฐ์ ์ง์ด๋ฃ์์ ๋ ๋์ ์ฐจ์ด
(1) ์ผ๋ฐ ๋ณ์์ ๊ฒฝ์ฐ
int a= 10; int b = 20;
a = b;
System.out.println(a);
System.out.println(b);
b = 100;
System.out.println(a);
System.out.println(b);
// ๊ฒฐ๊ณผ ๊ฐ
์ฒซ ๋ฒ์งธ ์ถ๋ ฅ : 20
20
๋ ๋ฒ์งธ ์ถ๋ ฅ : 20
100
Stack์์ ๊ฐ ์์ฒด๊ฐ ๋ฐ๋๊ณ a์ b๋ ์๋ก ์ฐ๊ด๋์ด ์์ง ์๋ค.
(2) ์ฐธ์กฐ ๋ณ์์ ๊ฒฝ์ฐ
Camera c1 = new Camera();
Camera c2 = new Camera();
c1.name = "์นด๋ฉ๋ผ1";
c2.name = "์นด๋ฉ๋ผ2";
System.out.println(c1.name);
System.out.println(c2.name);
c2 = c1;
System.out.println(c1.name);
System.out.println(c2.name);
c2.name = "๊ณ ์ฅ๋ ์นด๋ฉ๋ผ";
System.out.println(c1.name);
System.out.println(c2.name);
//๊ฒฐ๊ณผ ๊ฐ
์ฒซ ๋ฒ์งธ ์ถ๋ ฅ
: ์นด๋ฉ๋ผ1
์นด๋ฉ๋ผ2
๋ ๋ฒ์งธ ์ถ๋ ฅ
: ์นด๋ฉ๋ผ1
์นด๋ฉ๋ผ1
์ธ ๋ฒ์งธ ์ถ๋ ฅ
: ๊ณ ์ฅ๋ ์นด๋ฉ๋ผ
๊ณ ์ฅ๋ ์นด๋ฉ๋ผ
c2 = c1; ์ ํด์ฃผ๋ ์๊ฐ c1์ด ์ ์ฅํ๋ ์ฃผ์๊ฐ์ c2์ ์ฎ๊ฒจ์ด๋ค. ๋ฐ๋ผ์ ๋์ ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ๋ฅดํค๊ฒ ๋๋ค. ๊ทธ ํ
c2.name = "๊ณ ์ฅ๋ ์นด๋ฉ๋ผ";
ํด๋น ๋ช ๋ น์ด๊ฐ ์ฃผ์๋ฅผ ๋ฐ๊พผ ๊ฒ ์๋๋ฏ๋ก c1๊ณผ c2๋ ์ฌ์ ํ ๋๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ๋ฅดํจ๋ค. ๋ค๋ง ์ฃผ์๊ฐ ๊ฐ๋ฅดํค๋ ๊ฐ์ด ๋ฐ๋๋ค. ๋ฐ๋ผ์ ๋ ๋ค ๊ณ ์ฅ๋ ์นด๋ฉ๋ผ๋ฅผ ์ถ๋ ฅํ๋ค.
๋ฐ๋ผ์ ์ผ๋ฐ ๋ณ์๋ a= b ์ดํ ๋ค์ b์ ์ด๋ฃจ์ด์ง๋์ ์ a์๊ฒ ์ํฅ์ ์ฃผ์ง ์์ง๋ง, ์ฐธ์กฐ ๋ณ์์ผ ๊ฒฝ์ฐ a์๊ฒ ์ํฅ์ด ๊ฐ๋ค.
3. ๋งค์๋์ ์ธ์๋ก ๋ฃ์์ ๋ ๋์ ์ฐจ์ด
(1) ์ผ๋ฐ ๋ณ์์ ๊ฒฝ์ฐ
๋งค์๋์ ์ธ์๋ก ๋ค์ด๊ฐ๋ ๊ฒ์ a,b์ ๋ค์ด๊ฐ ๊ฐ ์์ฒด์์ผ๋ก, ํด๋น ๋งค์๋์ ๊ฐ์ด a,b ๋ณ์์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
๋ง์ฝ,
public static int changNum (int num1, int num2)
{
num1 = num2;
num2 = num1;
}
public static void main(String[] args) {
int a = 3;
int b = 10;
System.out.println(a);
System.out.println(b);
changNum(a, b);
System.out.println(a);
System.out.println(b);
}
์ถ๋ ฅ ๊ฐ
: 3
10
----- ๋งค์๋ ์คํ ํ----
3
10
(2) ์ฐธ์กฐ ๋ณ์์ ๊ฒฝ์ฐ
๋งค์๋์์ ๋์จ ๋ค์์ ๋งค์๋์ ๊ณ์ฐ์ด ์ฐธ์กฐ ๋ณ์์ ์ํฅ์ ์ค๋ค.
ํด๋น ๋งค์๋์ ๊ฐ์ ๊ฐ๋ฅดํค๋ ์ฃผ์๊ฐ ๋ค์ด๊ฐ. ๊ฐ์ด ๊ณ์ ๋ณํํด๋ ์ฃผ์๋ ํญ์ ๊ทธ ๊ฐ์ ๊ฐ๋ฅดํด.
์ด๋ ์ ๋ฐ์ดํธ๋ ๋ด์ฉ์ ๋งค์๋๊ฐ ๋๋๋ ์ฃผ์๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด ๋ณผ ์ ์๊ฒ ๋ง๋ฆ.
์์ : ์๊ต ํธ๋ฅด์ง์ค 301๋ 803ํธ๋ผ๋ ์ง์ด ๋ฆฌ๋ชจ๋ธ๋ง ํ๊ณ ์๋ค. ์ฐ๋ฆฌ๋ ๋ฆฌ๋ชจ๋ธ๋ง ์ ์ ์ง ์ํ๋ฅผ ์ฃผ์๋ฅผ ํตํด ๊ฐ์ ๋ณผ ์ ์๊ณ , ๋ฆฌ๋ชจ๋ธ๋ง ํ์ ๋ชจ์ต๋ ์ฃผ์๋ฅผ ๋ฐ๋ผ ๊ฐ๋ฉด ๋ณผ ์ ์๋ค.
//์์ Camera ๊ฐ์ฒด ์์์์ ์ด์ด์
changName(c2);
System.out.println(c1.name);
System.out.println(c2.name);
public static void changName(Camera camera) {
camera.name = "์๋ชป๋ ์นด๋ฉ๋ผ";
}
//์ถ๋ ฅ ๊ฐ
: ์๋ชป๋ ์นด๋ฉ๋ผ
์๋ชป๋ ์นด๋ฉ๋ผ