Guidelines

가비지 μ»¬λ ‰μ…˜μœΌλ‘œ λ©”λͺ¨λ¦¬λ₯Ό κ΄€λ¦¬ν•˜λŠ” 방법

가비지 μ»¬λ ‰μ…˜(Garbage Collection)은 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” 객체(μ°Έμ‘°λ˜μ§€ μ•ŠλŠ” λ©”λͺ¨λ¦¬)λ₯Ό μžλ™μœΌλ‘œ κ΄€λ¦¬ν•˜κ³  μ œκ±°ν•˜λŠ” λ©”λͺ¨λ¦¬ 관리 μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.

λ©”λͺ¨λ¦¬λŠ” μ»΄ν“¨ν„°μ—μ„œ 데이터λ₯Ό μ €μž₯ν•˜λŠ” κ³΅κ°„μž…λ‹ˆλ‹€. ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ” λ™μ•ˆ ν•„μš”ν•œ λ°μ΄ν„°λŠ” λ©”λͺ¨λ¦¬μ— μ €μž₯되며, ν”„λ‘œκ·Έλž¨μ΄ μ’…λ£Œλ˜λ©΄ λ©”λͺ¨λ¦¬μ— μ €μž₯된 λ°μ΄ν„°λŠ” μ‚­μ œλ©λ‹ˆλ‹€.


가비지 μ»¬λ ‰μ…˜μ€ λ©”λͺ¨λ¦¬ λˆ„μˆ˜(Leak)λ₯Ό λ°©μ§€ν•˜κ³  ν”„λ‘œκ·Έλž¨μ˜ λ©”λͺ¨λ¦¬ μ‚¬μš© νš¨μœ¨μ„ λ†’μ΄λŠ” 데 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.


ν΄λž˜μŠ€μ—μ„œ λ³€μˆ˜λ₯Ό μ €μž₯ν•˜λŠ” 경우

ν΄λž˜μŠ€κ°€ λ³€μˆ˜λ₯Ό μ €μž₯ν•˜λ©΄ ν•΄λ‹Ή λ³€μˆ˜κ°€ μ°Έμ‘°ν•˜λŠ” κ°μ²΄λŠ” λ©”λͺ¨λ¦¬μ— 계속 남아 있게 λ©λ‹ˆλ‹€.

이 κ°μ²΄λŠ” ν•΄λ‹Ή λ³€μˆ˜κ°€ 더 이상 ν•„μš” μ—†μ–΄ 가비지 μ»¬λ ‰μ…˜ λŒ€μƒμ΄ 될 λ•ŒκΉŒμ§€ λ©”λͺ¨λ¦¬μ—μ„œ μ œκ±°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ³€μˆ˜λ₯Ό μ €μž₯ν•˜λŠ” 클래슀 μ˜ˆμ‹œ
class MyClass: def __init__(self, data): self.data = data # 객체 생성 및 μ°Έμ‘° obj = MyClass([1, 2, 3])

이 μ˜ˆμ œμ—μ„œ obj κ°μ²΄λŠ” MyClass의 μΈμŠ€ν„΄μŠ€λ₯Ό μ°Έμ‘°ν•˜λ©°,[1, 2, 3] 리슀트λ₯Ό data λ³€μˆ˜μ— μ €μž₯ν•©λ‹ˆλ‹€. objκ°€ μ‘΄μž¬ν•˜λŠ” λ™μ•ˆ, 가비지 μ»¬λ ‰μ…˜μ€ 이 객체λ₯Ό νšŒμˆ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.


λ³€μˆ˜λ₯Ό μ €μž₯ν•˜μ§€ μ•ŠλŠ” 클래슀

ν΄λž˜μŠ€κ°€ λ³€μˆ˜λ₯Ό μ €μž₯ν•˜μ§€ μ•ŠμœΌλ©΄, 객체에 λŒ€ν•œ μ°Έμ‘°κ°€ μ—†μ–΄μ§ˆ λ•Œ 가비지 μ»¬λ ‰μ…˜μ΄ ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€λ₯Ό μžλ™μœΌλ‘œ λ©”λͺ¨λ¦¬μ—μ„œ νšŒμˆ˜ν•©λ‹ˆλ‹€.


λ³€μˆ˜λ₯Ό μ €μž₯ν•˜μ§€ μ•ŠλŠ” 클래슀 μ˜ˆμ‹œ
class MyClass: pass # 객체 생성 및 μ°Έμ‘° obj = MyClass() # μ°Έμ‘° 제거 del obj # 가비지 μ»¬λ ‰μ…˜ λŒ€μƒ

이 μ˜ˆμ œμ—μ„œ objλŠ” MyClass의 μΈμŠ€ν„΄μŠ€λ₯Ό μ°Έμ‘°ν•©λ‹ˆλ‹€.

del objλ₯Ό ν˜ΈμΆœν•˜μ—¬ μ°Έμ‘°λ₯Ό μ œκ±°ν•˜λ©΄, 가비지 μ»¬λ ‰μ…˜μ΄ MyClass μΈμŠ€ν„΄μŠ€λ₯Ό νšŒμˆ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Mission
0 / 1

λΉˆμΉΈμ— λ“€μ–΄κ°ˆ κ°€μž₯ μ μ ˆν•œ λ‹¨μ–΄λŠ” λ¬΄μ—‡μΌκΉŒμš”?

가비지 μ»¬λ ‰μ…˜μ€ ν”„λ‘œκ·Έλž¨μ—μ„œ 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” λ₯Ό μ°Ύμ•„λ‚΄μ–΄ νšŒμˆ˜ν•˜λŠ” 것을 λœ»ν•©λ‹ˆλ‹€.
클래슀
λ©”λͺ¨λ¦¬
λ³€μˆ˜
객체

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result