π λ°μ΄ν° νμ μ΄ λμΌ?
λ°μ΄ν° νμ μ λ§ κ·Έλλ‘ μ΄λ ν λ°μ΄ν°κ° λμνλ λ°©μμ λ°λΌ λλλ νμ μ λ§νλ€. 보ν΅μ int, char, String λ± μ¬λ¬ λ°μ΄ν° νμ μ μλ―Ένμ§λ§, λ΄κ° μ€λ νκ³ μΆμ μ΄μΌκΈ°λ μ΄ λͺ¨λ λ°μ΄ν° νμ μ ν¬ν¨νλ λμ μλ―Έμ λ°μ΄ν° νμ μ λν μ΄μΌκΈ°λ₯Ό νκ³ μ νλ€.
π€ͺ μμ? μ°Έμ‘°?
μλ°λ μ΄ 2κ°μ§μ ν° λ°μ΄ν° νμ μΌλ‘ λλλ€. 1) μμ λ°μ΄ν° νμ (Primitive), 2) μ°Έμ‘° λ°μ΄ν° νμ (Reference) μ΄ λ κ°μ§κ° κ·Έκ²μ΄λ€. μμ λ°μ΄ν° νμ μ μ΄ 8κ°μ νμ μ μ 곡νλ©°, μ°λ¦¬κ° νν μκ³ μλ int, char, boolean λ±μ ν¬ν¨νκ³ μλ€.
μλ°μ μμ λ°μ΄ν° νμ 8κ°μ§
1) byte
2) short
3) int
4) long
5) char
6) float
7) double
8) boolean
μμ λ°μ΄ν° νμ μ κΈ°λ³Έκ°μ΄ μ ν΄μ Έ μμ΄μ nullμ΄ μ‘΄μ¬ν μ μλ€. κ°μ₯ ν° νΉμ§μ λ°μ΄ν°λ₯Ό λ³μκ° μ§μ κ°μ§κ³ μλ ꡬ쑰λΌμ int a = bμ κ°μ΄ κ°μ 볡μ¬νμ λ, aμ bμ κ°μ μλ‘ λ³κ°λ‘ λ°μμ΄ λλ€. μλ μμλ₯Ό 보면 μ΄ λ¬Έμ₯μ μ΄ν΄νκΈ° μ¬μΈ κ²μ΄λ€.
public class Test {
public static void main(String[] args) {
int x = 0;
int y = x;
for (int i = 0; i < 10; i++) {
x++;
}
System.out.println(x); // 10
System.out.println(y); // 0
}
}
μμ λ°μ΄ν° νμ μ΄ μ΄μ²λΌ μλνλ μ΄μ λ μμ νμ μ λ³μλ λ©μλκ° μ€νλλ©΄ μκΈ°λ λ©μλ μ€νμ κ°μ΄ μ§μ μ μΌλ‘ μ μ₯λκΈ° λλ¬Έμ΄λ€.
μ°Έμ‘° λ°μ΄ν° νμ μ μμ λ°μ΄ν° νμ κ³Όλ ν° μ°¨μ΄κ° λλ€. μ°Έμ‘° νμ λ³μμ κ²½μ° λ°μ΄ν°κ° μ‘΄μ¬νλ μμΉλ₯Ό μ μ₯νκΈ° λλ¬Έμ λ κ°μ λ³μκ° λͺ¨λ νλμ μμΉλ₯Ό κ°λ¦¬ν¬ μ μλ€. μ¦, x = y μ΄ν xμ λν μ°μ° κ²°κ³Όκ° yμλ λ°μλλ μμ΄λ€.
// μ°Έμ‘° λ°μ΄ν° νμ
μμ μμ€μ½λ
public class Test {
public static void main(String[] args) {
int[] arr1 = {0,0,0,0,0};
int[] arr2 = arr1;
for (int i = 0; i < arr1.length; i++) {
arr1[i] += 1;
System.out.print(arr1[i] + " "); // arr1μ μμκ° 1 1 1 1 1
}
System.out.println();
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i] + " "); // arr2μ μμκ° 1 1 1 1 1
}
}
}
μλ₯Ό 보면 λΆλͺ ν arr1μ μμλ€λ§ 1μ λν΄μ€¬μ λΏμΈλ°, arr2μ μμλ€λ λͺ¨λ 1 1 1 1 1λ‘ λ°λμλ€. μ΄λ κ² λμνλ μ΄μ λ μλ°μ μ°Έμ‘° νμ μ λ³μ μ체λ μ€νμ μ μ₯λμ§λ§ μ€ν λ΄ λ°μ΄ν°λ μλ‘μ΄ κ°μ²΄λ₯Ό μμ±νκ² λλλ°, μ΄ κ°μ²΄λ νμ΄λΌλ 곡κ°μ μλ‘κ² μ μ₯λλ€. κ·Έλ¦¬κ³ μ΄ κ°μ²΄λ νμ΄λΌλ 곡κ°μμ μλ‘μ΄ μ€νμ λ§λ€κ³ κ·Έ μ€νμ λ°μ΄ν° κ°μ μ μ₯νκ² λλ κ²μ΄λ€. κ·Έλ¦¬κ³ arr2κ° arr1μ λ°μ΄ν°κ° μ‘΄μ¬νλ νμ μ£Όμκ°μ 볡μ¬ν΄μκΈ° λλ¬Έμ΄λ€.
μλ°λ λλΆλΆμ λ°μ΄ν°κ° μ°Έμ‘° νμ μ΄λ€. κ·Έ μ΄μ λ κ°μ²΄ = μ°Έμ‘° νμ μ΄κΈ° λλ¬Έμ΄λ€. μ°Έμ‘° λ°μ΄ν° νμ μ μμλ‘λ String, Array, Class λ±μ ν¬ν¨ν λͺ¨λ κ°μ²΄ λ°μ΄ν° μμλ€μ΄ μ°Έμ‘° νμ μ΄λ€.
μ€λμ μ¬κΈ°κΉμ§λ§ μμ보μ! π
'Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] μμΈλ₯Ό λ€λ£¨λ λͺ κ°μ§ λ°©λ² (2) | 2022.09.21 |
---|---|
[Java] μμΈ μ²λ¦¬μ μ΄μ μ μ’ λ₯ (2) | 2022.09.20 |
[Java] Covariant(곡λ³μ±)μ κ΄ν κ°λ¨ν μ΄μΌκΈ° (0) | 2022.09.02 |
[Java] System ν΄λμ€ (0) | 2022.08.30 |
[Java] main λ©μλ (0) | 2022.08.13 |