
ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±ν λ νΈμΆλλ νΉλ³ν λ©μλ
κΈ°λ³Έ μμ±μλ₯Ό μ 곡ν¨.λ§€κ°λ³μλ₯Ό λ°μ§ μλ μμ±μ
public class Car {
public Car() {
// μ΄κΈ°ν μμ
}
}
public class Main {
public static void main(String[] args) {
// Car κ°μ²΄ μμ±
Car car = new Car(); // λΉ κ°μ²΄ μμ±
}
}
λ§€κ°λ³μλ₯Ό λ°μ κ°μ²΄λ₯Ό μ΄κΈ°ννλ μμ±μ
public class Car {
private String model;
public Car(String model) {
// μ΄κΈ°ν μμ
this.model = model;
}
}
public class Main {
public static void main(String[] args) {
// Car κ°μ²΄ μμ±
Car car = new Car("Sonata");
}
}
κ°μ²΄κ° λ μ΄μ μ¬μ©λμ§ μμΌλ©΄ κ°λΉμ§ 컬λ ν°μ μν΄ μλμΌλ‘ λ©λͺ¨λ¦¬μμ μ κ±°λ¨.
κ°λΉμ§ 컬λ ν°κ° λ©λͺ¨λ¦¬ κ΄λ¦¬λ₯Ό μλμΌλ‘ μνν¨.finalize()λ©μλλ₯Ό μ΄μ©ν΄ κ°λΉμ§ 컬λ ν°κ° κ°μ²΄λ₯Ό μ κ±°νκΈ° μ μ μνν μμ
μ μ μν μ μμ§λ§ κΆμ₯λμ§ μμ.β‘οΈfinalize()λ κ°μ²΄κ° λ©λͺ¨λ¦¬μμ μ κ±°λκΈ° μ§μ μ κ°λΉμ§ 컬λ ν°μ μν΄ μλμΌλ‘ νΈμΆλ¨. But, finalize() νΈμΆ μμ μ΄ λͺ
ννμ§ μκ³ , λλλ‘ νλ‘κ·Έλ¨μ μ±λ₯μ μ νμν€λ―λ‘ λμ try-with-resourcesλ₯Ό μ¬μ©νλ κ²μ΄ κΆμ₯λ¨.
public class Car {
// μμ±μ
public Car() {
// μ΄κΈ°ν μμ
}
// finalize λ©μλ μ μΈ
protected void finalize() throws Throwable {
// μ 리 μμ
super.finalize();
}
}