Guidelines

객체의 μ‹œμž‘κ³Ό 끝, 행동을 μ •μ˜ν•˜λŠ” 방법

νŒŒμ΄μ¬μ—μ„œ ν΄λž˜μŠ€λŠ” 객체λ₯Ό λ§Œλ“œλŠ” μ„€κ³„λ„μž…λ‹ˆλ‹€.

이번 μˆ˜μ—…μ—μ„œλŠ” 클래슀의 ꡬ성 μš”μ†ŒμΈ μƒμ„±μž, μ†Œλ©Έμž, λ©”μ„œλ“œμ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.


객체의 μ‹œμž‘μ„ μ •μ˜ν•˜λŠ” μƒμ„±μž

μƒμ„±μž(Constructor)λŠ” 객체가 λ§Œλ“€μ–΄μ§ˆ λ•Œ μžλ™μœΌλ‘œ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.

νŒŒμ΄μ¬μ—μ„œ μƒμ„±μžλŠ” __init__으둜 μ •μ˜ν•˜λ©°, 객체가 생성될 λ•Œ ν•„μš”ν•œ μ΄ˆκΈ°κ°’μ„ μ„€μ •ν•©λ‹ˆλ‹€.

μƒμ„±μž μ •μ˜
class Car: # μƒμ„±μž μ •μ˜ def __init__(self, brand, model, year): # 객체의 속성 μ„€μ • self.brand = brand self.model = model self.year = year print(f"{self.brand} {self.model} 생성") # λΈŒλžœλ“œ 'Lamboo', λͺ¨λΈ 'Avent', μ—°μ‹μœΌλ‘œ 2021인 μžλ™μ°¨ 객체 생성 lambo = Car("Lamboo", "Avent", 2021) # 좜λ ₯: Lambo Avent 생성 # λΈŒλžœλ“œ 'Tesli', λͺ¨λΈ 'Model Z', μ—°μ‹μœΌλ‘œ 2023인 μžλ™μ°¨ 객체 생성 tesla = Car("Tesli", "Model Z", 2023) # 좜λ ₯: Tesli Model Z 생성

__init__ μ½”λ“œλ₯Ό 톡해 Car 객체가 생성될 λ•Œλ§ˆλ‹€ μžλ™μ°¨μ˜ λΈŒλžœλ“œ, λͺ¨λΈ, 연도가 μ„€μ •λ˜λ©°, λΈŒλžœλ“œμ™€ λͺ¨λΈμ΄ 좜λ ₯λ©λ‹ˆλ‹€.


객체의 끝을 μ •μ˜ν•˜λŠ” μ†Œλ©Έμž

μ†Œλ©Έμž(Destructor)λŠ” 객체가 μ†Œλ©Έλ  λ•Œ ν˜ΈμΆœλ©λ‹ˆλ‹€.

νŒŒμ΄μ¬μ—μ„œλŠ” __del__둜 μ •μ˜ν•˜λ©°, 주둜 객체가 μ‚­μ œλ  λ•Œ μ •λ¦¬ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

μ†Œλ©Έμž μ •μ˜
class Car: # μ†Œλ©Έμž μ •μ˜ def __del__(self): # 객체가 μ†Œλ©Έλ  λ•Œ 좜λ ₯ print(f"{self.brand} {self.model}κ°€ μ†Œλ©Έλ¨")

객체의 행동을 μ •μ˜ν•˜λŠ” λ©”μ„œλ“œ

λ©”μ„œλ“œ(Method)λŠ” 객체가 μˆ˜ν–‰ν•  행동을 μ •μ˜ν•©λ‹ˆλ‹€.

주둜 객체의 μƒνƒœλ₯Ό λ³€κ²½ν•˜κ±°λ‚˜ νŠΉμ • κΈ°λŠ₯을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

λ©”μ„œλ“œ μ •μ˜
class Car: def __init__(self, brand, model, year): self.brand = brand self.model = model self.year = year def start_engine(self): print(f"{self.brand} {self.model}의 엔진 μ‹œλ™") def change_year(self, year): self.year = year print(f"{self.brand} {self.model}의 연식을 {year}둜 λ³€κ²½") # λΈŒλžœλ“œ 'Lamboo', λͺ¨λΈ 'Avent', μ—°μ‹μœΌλ‘œ 2021인 μžλ™μ°¨ 객체 생성 lambo = Car("Lamboo", "Avent", 2021) # 좜λ ₯: Lamboo Avent의 엔진 μ‹œλ™ lambo.start_engine() # 좜λ ₯: Lamboo Avent의 연식을 2023으둜 λ³€κ²½ lambo.change_year(2023)

μœ„ μ½”λ“œμ—μ„œ start_engine λ©”μ„œλ“œλŠ” μžλ™μ°¨μ˜ 엔진을 μΌœλŠ” κΈ°λŠ₯을 ν‘œν˜„ν•˜λ©°, change_year λ©”μ„œλ“œλŠ” μžλ™μ°¨μ˜ 연식을 λ³€κ²½ν•©λ‹ˆλ‹€.

λ©”μ„œλ“œλ₯Ό μ •μ˜ν•  λ•Œ ν¬ν•¨λ˜λŠ” selfλŠ” ν•΄λ‹Ή λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•œ 객체 μžμ‹ μ„ 가리킀며, λ©”μ„œλ“œλ₯Ό μ •μ˜ν•  λ•Œ λ°˜λ“œμ‹œ ν¬ν•¨λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

Mission
0 / 1

λ‹€μŒ λ¬Έμž₯μ—μ„œ λΉˆμΉΈμ— λ“€μ–΄κ°ˆ μ μ ˆν•œ 단어λ₯Ό κ³ λ₯΄μ„Έμš”.

νŒŒμ΄μ¬μ—μ„œ 클래슀의 객체가 생성될 λ•Œ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œλŠ” μž…λ‹ˆλ‹€.
μ†Œλ©Έμž
λ©”μ„œλ“œ
μƒμ„±μž
속성

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result