java κΈ°μ΄(ν¨ν€μ§μ API λ¬Έμ, java.lang ν¨ν€μ§)
1) ν¨ν€μ§μ API λ¬Έμ
1-1) μλ° λΌμ΄λΈλ¬λ¦¬
- κ°λ°μκ° νΈλ¦¬νκ² μ¬μ©ν μ μλλ‘ ν¨ν€μ§ νΉμ λͺ¨λμ μμΆν νμΌ
1-2) ν¨ν€μ§μ λͺ¨λ
- ν¨ν€μ§ : μνΈ κ΄λ ¨ μλ ν΄λμ€μ μΈν°νμ΄μ€λ₯Ό ν κ³³μ λ¬Άμ΄ λμ κ²
- λͺ¨λ : λ°μ ν κ΄κ³κ° μλ ν¨ν€μ§μ 리μμ€λ₯Ό λ¬Άμ΄ λμ κ², JDKλ₯Ό μ€μΉνλ©΄ jmods ν΄λμ jmod νμΌμ μ 곡νλλ° jmod νμΌμ΄ λͺ¨λ νμΌ
1-3) μλ°μ μ£Όμ ν¨ν€μ§ λ° λͺ¨λ
1-4) API λ¬Έμ
- μλ°λ μ΄λ° ν¨ν€μ§λ₯Ό κ°λ°μκ° μ¬μ©ν μ μλλ‘ API ννλ‘ μ 곡νλ€
- μ¬μ©μλ APIλ‘λΆν° νμν ν¨ν€μ§λ₯Ό μν¬νΈνλ©΄ λͺ¨λν°μ ν€λ³΄λλ₯Ό μ½κ² μ‘°μνλ νλ‘κ·Έλ¨μ μμ±ν μ μλ€
- JDKμ ν¬ν¨λ λΌμ΄λΈλ¬λ¦¬λ λ§€μ° λ°©λνκΈ° λλ¬Έμ κ°λ°μκ° λͺ¨λ κΈ°μ΅ν μ μμΌλ―λ‘ ν¨ν€μ§λ₯Ό μ¬λ°λ₯΄κ² μ¬μ©νλ €λ©΄ κ°λ°μλ API λ¬Έμλ₯Ό μμ£Ό μ°Έμ‘°ν΄μΌνλ€
- κ΅μλμ΄ κ³μ λͺ¨λ₯΄λκ±° μμΌλ©΄ java.api 보λΌκ³ κ°μ‘°λ₯Ό νμ λ€. λλΆλΆ μμ΄λΌ ν΄μνκΈ° νλ€μ΄μ ꡬκΈλ§μ΄λ chat gptλ₯Ό λ§μ΄ μ°Ύμ보λλ° μΈμ κ° μμ΄ μ€λ ₯κ³Ό μ½λ© μ€λ ₯μ ν€μμ apiλ§λ€ μ΄μ©νμ¬ λ§λ€μ΄λ λ³΄κ³ μΆλ€!!
2) java.lang ν¨ν€μ§
2-1) νμ ν¨ν€μ§
- java.lang ν¨ν€μ§λ μλ° νλ‘κ·Έλ¨μμ κ°μ₯ κΈ°λ³Έμ΄ λλ ν΄λμ€μ μΈν°νμ΄μ€λ₯Ό 보κ΄
- import λ¬Έ μμ΄ μ¬μ©
2-2) Object ν΄λμ€
- λͺ¨λ ν΄λμ€μ μ‘°μ
- Object ν΄λμ€κ° μ 곡νλ μ£Όμ λ©μλ
2-3) Class ν΄λμ€
- μ€ν μ€μΈ μλ° νλ‘κ·Έλ¨ λ΄λΆμ ν¬ν¨λ ν΄λμ€μ μΈν°νμ΄μ€ μ 보λ₯Ό μ 곡νλ €κ³ getName(), getSimpleName() λ± λ€μν λ©μλλ₯Ό μ 곡
- Class ν΄λμ€λ μμ±μκ° μκ³ μ΄λ€ κ°μ²΄λΌλ μμ±νλ©΄ JVMμ΄ λμνλ Class κ°μ²΄λ₯Ό μλμΌλ‘ μμ±
- μ€ν λμ€ κ°μ²΄ μ 보λ₯Ό μ»μΌλ €λ©΄ getClass()μ κ²°κ³ΌμΈ Class κ°μ²΄λ₯Ό μ¬μ©
- ex) μ£Όμ΄μ§ objκ°μ²΄μμ Class κ°μ²΄λ₯Ό μ»μΌλ €λ©΄
2-4) Math ν΄λμ€
- λͺ¨λ λ©μλκ° staticμ΄κΈ° λλ¬Έμ κ°μ²΄λ₯Ό μμ±νμ§ μκ³ λ©μλ νΈμΆ
- Math ν΄λμ€κ° μ 곡νλ μ£Όμ double νμ μ λ©μλ
public class MathDemo {
public static void main(String[] args) {
System.out.println("Math.pow(2,8):" + Math.pow(2, 8));
System.out.println("Math.random():" + Math.random());
System.out.println("Math.sin(Math.PI):" + Math.sin(Math.PI));
System.out.println("Math.min(10,20):" + Math.min(10, 20));
}
}
λ΅μ
Math.pow(2,8):256.0
Math.random():0.5957544835893684
Math.sin(Math.PI):1.2246467991473532E-16
Math.min(10,20):10
2-5) System ν΄λμ€
- νμ€ μ μΆλ ₯μ λΉλ‘―ν μ€ν μμ€ν κ³Ό κ΄λ ¨λ νλμ λ©μλλ₯Ό staticμΌλ‘ μ 곡
- System.out.println()λ System ν΄λμ€κ° μ 곡νλ λ©μλ
- System ν΄λμ€μ μΈκ°μ§ νλ
- μλ°μμ μ΄μ체μ λ‘λΆν° ν λΉλ°μ λ©λͺ¨λ¦¬λ₯Ό JVMμ΄ κ΄λ¦¬
- JVMμ λ©λͺ¨λ¦¬κ° λΆμ‘±νκ±°λ μ£ΌκΈ°μ μΌλ‘ κ°λΉμ§ 컬λ ν°λ₯Ό μ¬μ©ν΄ κ°λΉμ§λ₯Ό μκ±°
- κ°λΉμ§λ₯Ό μκ±°νλ μμλ κ°μ²΄μ μμ± μμμλ 무κ΄
- νλ‘κ·Έλ¨μμ κ°λΉμ§ 컬λ ν°λ₯Ό μ§μ νΈμΆ λΆκ°, λμ μ System.gc()λ‘ JVMμ κ°λ₯νλ©΄ 빨리 κ°λΉμ§ 컬λ ν°λ₯Ό μ€ννλλ‘ μμ² κ°λ₯
class Garbage {
public int no;
public Garbage(int no) {
this.no = no;
System.out.printf("Garbage(%d)μμ±\n", no);
}
protected void finalize() {
System.out.printf("Garbage(%d)μκ±°\n", no);
}
}
public class GarbageDemo {
public static void main(String[] args) {
for (int i = 0; i < 3; i++)
new Garbage(i);
}
}
λ΅μ
Garbage(0)μμ±
Garbage(1)μμ±
Garbage(2)μμ±
κ°λΉμ§μ μμ± μμμ μκ±° μμλ 무κ΄νλ€!!
2-6) ν¬μ₯ ν΄λμ€
- λλΆλΆμ κΈ°λ³Έ ν¨ν€μ§κ° μ 곡νλ ν΄λμ€μ λ©μλλ μ°Έμ‘° νμ μ λ§€κ°λ³μλ‘ μ¬μ©νκΈ° λλ¬Έμ κΈ°μ΄ νμ μ μ¬μ©νλ©΄ κ°μ²΄ μ§ν₯ μΈμ΄μ νΉμ§μ μ΄μ© λΆκ°
- μλ°λ κΈ°μ΄ νμ μ ν¬μ₯ν΄ ν΄λμ€ν ν ν¬μ₯ ν΄λμ€(wrapper class)λ₯Ό μ 곡ν΄μ κΈ°μ΄ νμ λ°μ΄ν°λ κΈ°λ³Έ ν¨ν€μ§λ₯Ό νμ©νλλ‘ ν¨
- λͺ¨λ κΈ°μ΄ νμ μ λμνλ ν¬μ₯ ν΄λμ€κ° μμΌλ©°, intμ char νμ μ λμνλ ν¬μ₯ ν΄λμ€λ κ°κ° Integerμ Characterμ΄λ©°, λλ¨Έμ§ ν¬μ₯ ν΄λμ€μ μ΄λ¦μ κΈ°μ΄ νμ μ 첫 μλ¬Έμλ₯Ό λλ¬Έμλ‘ λ°κΎΌ κ²μ΄λ€
- Integer ν΄λμ€κ° μ 곡νλ μ£Όμ λ©μλ
- κΈ°μ΄ νμ λ°μ΄ν°λ₯Ό ν¬μ₯ν΄ κ°μ²΄ννλ κ²μ λ°μ±(boxing), λ°λ κ³Όμ μ μΈλ°μ±(unboxing)
- λ°μ±μ μννλ €λ©΄ ν¬μ₯ ν΄λμ€μ μμ±μλ valueOf()λ©μλλ₯Ό μ¬μ©νλ€
Interger bi = new Integer(10); // λ°μ±
Integer bi = Integer.valueOf(10) // λ°μ±
public class WrapperDemo {
public static void main(String[] args) {
Integer bi1 = new Integer(10); // Integer νμ κ°μ²΄λ₯Ό μμ±νλ€
int i1 = bi1.intValue(); // Integer νμ μ int νμ μΌλ‘ λ³ννλ€
double d = bi1.doubleValue(); // Integer νμ μ double νμ μΌλ‘ λ³ννλ€
Integer bi2 = 20; // μλ λ°μ±μ΄λ€
int i2 = bi2 + 20; // μλ μΈλ°μ±μ΄λ€
String s1 = Double.toString(3.14); // double νμ λ°μ΄ν°λ₯Ό String νμ μΌλ‘ λ³ννλ€
Float pi = Float.parseFloat("3.14"); // String νμ λ°μ΄ν°λ₯Ό Float νμ μΌλ‘ λ³ννλ€
Integer bi3 = Integer.valueOf("11", 16); // 16μ§μ μ«μ λ¬Έμμ΄μ 10μ§μ Integer νμ μΌλ‘ λ³ννλ€
System.out.println(bi3);
}
}
λ΅μ
17