Item 8. Finalizer & Cleaner
Finalizerμ Cleaner μ¬μ©μ νΌνλΌ
Javaμλ finalizer
μ cleaner
λΌλ λ κ°μ§ κ°μ²΄ μλ©Έμκ° μ‘΄μ¬νλ€.
νμ§λ§ λ μλ©Έμ λͺ¨λ μμΈ‘ν μ μκ³ , μν©μ λ°λΌ μνν μ μκΈ° λλ¬Έμ μ¬μ©μ νΌν΄μΌ νλ€.
finalizer
: Java 9λΆν° deprecated λ¨cleaner
: Java 9λΆν°finalizer
λ₯Ό λ체νκΈ° μν΄ λμ λμμΌλ μ¬μ ν μννκ³ μμΈ‘ν μ μμ
μ΄ λ μλ©Έμλ C++μ destuctor
μ λΉμ·ν΄ 보μ΄μ§λ§, λ€λ₯Έ κ°λ
μ΄κΈ° λλ¬Έμ λ€μκ³Ό κ°μ μ°¨μ΄μ μ΄ μ‘΄μ¬νλ€.
C++:
destructor
λ κ°μ²΄μ μμ±μ νλ©΄ κΌ νμν κ²μΌλ‘ μμμ νμνλ 보νΈμ μΈ λ°©λ²Java: κΈ°λ³Έμ μΌλ‘ κ°λΉμ§ 컬λ ν°κ° μμ νμλ₯Ό λ΄λΉνλ©°,
finalizer
μcleaner
λ μ¦μ μνλλ€λ 보μ₯μ΄ μμ
μλ©Έμκ° μνν μ΄μ
μμμ μ€λͺ
νλ―μ΄ finalizer
μ cleaner
λ μ¦μ μνλλ€λ 보μ₯μ΄ μλ€.
μ λ μλ©Έμμ μν μ¬λΆλ κ°λΉμ§ 컬λ ν°μ μκ³ λ¦¬μ¦μ λ°λΌ λ¬λΌμ§κΈ° λλ¬Έμ μμΈ‘ν μ μμΌλ©° κ°λΉμ§ 컬λ ν° κ΅¬νλ§λ€ λ€λ₯΄λ€.
λλ¬Έμ ν
μ€νΈ νκ²½μμλ μ μμ μΌλ‘ λμνμ§λ§, νλ‘λμ
νκ²½μμλ μμμΉ λͺ»ν λ¬Έμ λ₯Ό μΌμΌν¬ μ μλ€.
μ¦μ μν 미보μ₯: κ°λΉμ§ 컬λ ν°μ μκ³ λ¦¬μ¦μ λ°λΌ λ¬λΌμ§κΈ° λλ¬Έμ μ¦μ μνλμ§ μμ μ μμ
μμΈ μ²λ¦¬ λ¬Έμ :
finalizer
λ΄λΆμμ λ°μν μμΈλ 무μλλ©°, μ²λ¦¬ν μμ μ΄ λ¨μμλλΌλ μνμ΄ μ€λ¨λ¨(cleaner
λ ν΄λΉ λ¬Έμ κ° λ°μνμ§ μμ)μ±λ₯ λ¬Έμ : κ°λΉμ§ 컬λ ν°κ° μλμΌλ‘ μκ±°νλ μκ°μ λΉν΄ ν¨μ¬ μ€λ κ±Έλ¦Ό
보μ λ¬Έμ : μμ±μ΄ μλ£λμ§ μμ κ°μ²΄μ νμ ν΄λμ€μ
finalizer
κ° μνλ μ μμ
finalizer
μ cleaner
μ μ¬μ©
finalizer
μ cleaner
μ μ¬μ©μμ λ§ μν
λ§μ½ νμΌμ΄λ μ€λ λ λ± μ’
λ£ν΄μΌ ν μμμ μλ©Έμν€κΈ° μν΄μ , μμ λ μλ©Έμλ₯Ό μ¬μ©νλ κ²λ³΄λ€ AutoCloseable
μΈν°νμ΄μ€λ₯Ό ꡬννλ κ²μ΄ λ μ’λ€.
λ μλ©Έμλ AutoCloseable
μΈν°νμ΄μ€μ close()
λ©μλλ₯Ό νΈμΆνμ§ μλ κ²μ λλΉν μμ λ§ μν μ ν μ μλ€.
λ€μ΄ν°λΈ νΌμ΄
λ€μ΄ν°λΈ νΌμ΄λ μΌλ° μλ° κ°μ²΄κ° λ€μ΄ν°λΈ λ©μλλ₯Ό ν΅ν΄ μ κ·Όνλ λ€μ΄ν°λΈ κ°μ²΄λ₯Ό λ§νλ€.
λ€μ΄ν°λΈ κ°μ²΄λ μλ° κ°μ²΄κ° μλμ¬μ κ°λΉμ§ 컬λ ν°κ° νμνμ§ λͺ»νκΈ° λλ¬Έμ finalizer
μ cleaner
λ₯Ό μ§μ μ¬μ©νμ¬ νμνλ κ²μ΄ μ’λ€.
Last updated
Was this helpful?