Method(static) μμμ μ μ₯Method μμμ μ μ₯λ λ°μ΄ν°λ νλ‘κ·Έλ¨ μ 체μμ 곡μ©μΌλ‘ νμ© κ°λ₯νλ€.static ν€μλλ‘ μ μΈλ λ³μμ λ©μλλ€μ΄ μ΄ κ³΅κ°μ μμΉnew ν€μλλ‘ μμ±λ κ°μ²΄λ Heap μμμ μ μ₯λλ€.Stack μμμ λ³μκ° Heap μμμ κ°μ²΄λ₯Ό μ°Έμ‘°Heap λ©λͺ¨λ¦¬ μ£Όμ κ°μ΄ μ μ₯λλ€.Heap μμμ κ°μ²΄λ νμμμ΄μ§λ©΄ κ°λΉμ§μ»¬λ ν°(Garbage Collector)κ° μ 리νλ€.Stack μμμ λ©λͺ¨λ¦¬κ° ν λΉλλ€.LIFO(νμ
μ μΆ) ꡬ쑰기본μλ£νμ κ°μ²΄λ‘ κ°μΌ ν΄λμ€
| κΈ°λ³Έ μλ£ν (Primitive Type) | λνΌ ν΄λμ€ (Wrapper Class) |
|---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Integer num = 100;
System.out.println(num); // μΆλ ₯ 100
System.out.println(num) μ λ΄λΆμ μΌλ‘ String.valueOf(num)λ₯Ό νΈμΆν¨
λͺ¨λ μλ° κ°μ²΄λ Object ν΄λμ€μμ μμλ°μ κΈ°λ³Έ toString()μ΄ μλ€.
"ν΄λμ€μ΄λ¦@ν΄μμ½λ" ννμ λ¬Έμμ΄μ λ°ννμ§λ§ Integer, String, ArrayList κ°μ μμ£Ό μ°λ ν΄λμ€λ€μ
toString()μ μ€λ²λΌμ΄λ©ν΄μ κ°μ΄ μ 보μ΄λλ‘ κ΅¬νν΄λμλ€.
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
μμ ꡬ쑰μ μν΄ num.toString() μ΄ νΈμΆλκ³ μ€λ²λΌμ΄λ© λ Integer ν΄λμ€μ toString()μ λ€μκ³Ό κ°λ€.
@Override
public String toString() {
return Integer.toString(value);
}
μ΄λ‘ μΈν΄ λ΄λΆμ μ μ₯λ κ° 100μ΄ μΆλ ₯ λλ€.
Integer num = 123; // λνΌν΄λμ€
String str = num.toString(); // β
νΈλ¦¬ν κΈ°λ₯
int a = 100; // κ·Έλ₯ λ°μ΄ν° 100
String str = a.toString(); // β λ³ν λΆκ°μ€ν λ°μ±
int num = 100;
Integer obj = num; // μ€ν λ°μ±: int β Integer
Integer obj = Integer.valueOf(num);
μΈλ°μ±
Integer obj = 100;
int num = obj; // μΈλ°μ±: Integer β int
int num = obj.intValue();
μ€ν λ°μ±/μΈλ°μ±μ΄ μ μ©ν μν©μμ
List<Integer> list = new ArrayList<>();
list.add(10); // μ€ν λ°μ±: int β Integer
int value = list.get(0); // μΈλ°μ±: Integer β int
μ£Όμμ
Integer x = null;
int y = x; // NullPointerException λ°μ