Guidelines

클래슀의 속성과 λ©”μ„œλ“œλ₯Ό λ¬Όλ €λ°›λŠ” 상속

상속(Inheritance)은 ν•œ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ 클래슀의 속성과 λ©”μ„œλ“œλ₯Ό λ¬Όλ €λ°›λŠ” κΈ°λŠ₯을 λ§ν•©λ‹ˆλ‹€.

이λ₯Ό 톡해 κΈ°μ‘΄ μ½”λ“œλ₯Ό μž¬μ‚¬μš©ν•˜κ³  ν™•μž₯ν•˜μ—¬ ν”„λ‘œκ·Έλž˜λ°μ˜ νš¨μœ¨μ„±μ„ 높일 수 μžˆμŠ΅λ‹ˆλ‹€.

νŒŒμ΄μ¬μ—μ„œλŠ” 클래슀λ₯Ό μ •μ˜ν•  λ•Œ, κ΄„ν˜Έ μ•ˆμ— 상속받을 클래슀λ₯Ό λ„£μ–΄ 상속을 κ΅¬ν˜„ν•©λ‹ˆλ‹€.

상속 ꡬ쑰
class μžμ‹ν΄λž˜μŠ€(λΆ€λͺ¨ν΄λž˜μŠ€): # μžμ‹ 클래슀의 λ‚΄μš©

μœ„ μ½”λ“œμ—μ„œ μžμ‹ν΄λž˜μŠ€λŠ” λΆ€λͺ¨ν΄λž˜μŠ€λ₯Ό μƒμ†λ°›μŠ΅λ‹ˆλ‹€.

μžμ‹ν΄λž˜μŠ€λŠ” λΆ€λͺ¨ν΄λž˜μŠ€μ˜ 속성과 λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λΆ€λͺ¨ν΄λž˜μŠ€λŠ” μƒμœ„ 클래슀(Superclass) λ˜λŠ” κΈ°λ³Έ 클래슀(Base class)라고도 λΆˆλ¦½λ‹ˆλ‹€.

μžμ‹ν΄λž˜μŠ€λŠ” ν•˜μœ„ 클래슀(Subclass) λ˜λŠ” νŒŒμƒ 클래슀(Derived class)라고도 λΆˆλ¦½λ‹ˆλ‹€.


상속은 μ™œ μ‚¬μš©ν• κΉŒμš”?

객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ 상속은 λ‹€μŒκ³Ό 같은 역할을 ν•©λ‹ˆλ‹€.

  • μ½”λ“œ μž¬μ‚¬μš©: κΈ°μ‘΄ 클래슀의 μ½”λ“œλ₯Ό κ·ΈλŒ€λ‘œ ν™œμš©ν•˜μ—¬ 쀑볡을 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€.

  • ν™•μž₯μ„±: κΈ°μ‘΄ 클래슀λ₯Ό μˆ˜μ •ν•˜μ§€ μ•Šκ³ λ„ μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•˜κ±°λ‚˜ κΈ°μ‘΄ κΈ°λŠ₯을 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • 계측적 ꡬ쑰: 클래슀 κ°„μ˜ 계측을 ν˜•μ„±ν•΄ ν”„λ‘œκ·Έλž¨ ꡬ쑰λ₯Ό 더 λͺ…ν™•ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€.

μ•„λž˜λŠ” Animal 클래슀λ₯Ό 상속받아 Dog 클래슀λ₯Ό μ •μ˜ν•˜λŠ” μ˜ˆμ‹œμž…λ‹ˆλ‹€.

상속 μ‚¬μš© μ˜ˆμ‹œ
class Animal: def __init__(self, name): self.name = name def speak(self): return "μ†Œλ¦¬λ₯Ό λƒ…λ‹ˆλ‹€." class Dog(Animal): def speak(self): return f"{self.name}κ°€ λ©λ©ν•˜κ³  μ§–μŠ΅λ‹ˆλ‹€." # 클래슀 μ‚¬μš© μ˜ˆμ‹œ my_dog = Dog("바둑이") print(my_dog.speak()) # '바둑이가 λ©λ©ν•˜κ³  μ§–μŠ΅λ‹ˆλ‹€.' 좜λ ₯

이 μ˜ˆμ œμ—μ„œ Dog ν΄λž˜μŠ€λŠ” Animal ν΄λž˜μŠ€λ‘œλΆ€ν„° 상속받아 name 속성과 speak λ©”μ„œλ“œλ₯Ό ν™œμš©ν•©λ‹ˆλ‹€.

그리고 speak λ©”μ„œλ“œλ₯Ό μž¬μ •μ˜(μ˜€λ²„λΌμ΄λ”©)ν•˜μ—¬ κ°•μ•„μ§€μ˜ νŠΉμ„±μ„ ν‘œν˜„ν•©λ‹ˆλ‹€.

Mission
0 / 1

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

객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ 상속은 μ½”λ“œμ˜ 을 λ†’μž…λ‹ˆλ‹€.
속도
λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰
μž¬μ‚¬μš©μ„±
μ •ν•©μ„±

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result