[Python] 클래슀, 상속

2025. 4. 4. 22:07Β·Language/Python

λ³Έ ν¬μŠ€νŒ…μ€ 학ꡐ μˆ˜μ—…μ—μ„œ 닀룬 파이썬 문법 뢀뢄을 μ •λ¦¬ν•΄λ‘κ³ μž λ‚¨κΈ°λŠ” ν¬μŠ€νŒ…μ΄λ‹€.

(ν•΄λ‹Ή μˆ˜μ—…μ€ '파이썬 도μž₯'κ³Ό '점프 투 파이썬'을 ꡐ재둜 문법 μˆ˜μ—…μ„ μ§„ν–‰)

클래슀

  • ν΄λž˜μŠ€λŠ” 객체λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•œ 문법
  • 객체지ν–₯의 기본적인 κ°œλ…
    λ³΅μž‘ν•œ 문제λ₯Ό 잘게 λ‚˜λˆ„μ–΄ 객체둜 λ§Œλ“€κ³ , 객체λ₯Ό μ‘°ν•©ν•΄μ„œ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 방식
    ν˜„μ‹€ 세계 문제λ₯Ό μ²˜λ¦¬ν•˜λŠ”λ° μœ μš©ν•˜λ©° κΈ°λŠ₯을 κ°œμ„ ν•˜κ³  λ°œμ „μ‹œν‚¬ λ•Œλ„ ν•΄λ‹Ή 클래슀만 μˆ˜μ •ν•˜λ©΄ 되기 λ•Œλ¬Έμ— μœ μ§€ λ³΄μˆ˜μ— νš¨μœ¨μ μ΄λ‹€.
  • λͺ…사화 ν•  수 μžˆλŠ” 데이터λ₯Ό 클래슀의 속성, κΈ°λŠ₯(클래슀λ₯Ό μ œμ–΄ν•˜λŠ” λ™μž‘)을 λ©”μ„œλ“œ 라고 λΆ€λ₯Έλ‹€.

class둜 클래슀 이름을 μ§€μ •ν•˜κ³  :(콜둠)을 뢙인 λ’€ λ‹€μŒ 쀄뢀터 def둜 λ©”μ„œλ“œλ₯Ό μž‘μ„±ν•˜λ©΄ λœλ‹€

  • 파이썬의 ν΄λž˜μŠ€λŠ” λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜κ³  λ©”μ„œλ“œ μž‘μ„± 방법은 ν•¨μˆ˜μ™€ κ°™μœΌλ©° μ½”λ“œλŠ” λ°˜λ“œμ‹œ λ“€μ—¬μ“°κΈ° ν•΄μ•Όν•œλ‹€.
  • λ©”μ„œλ“œμ˜ 첫 번째 λ§€κ°œλ³€μˆ˜λŠ” λ°˜λ“œμ‹œ selfλ₯Ό μ§€μ •ν•΄μ•Ό ν•œλ‹€.
  • class 클래슀 이름: def λ©”μ„œλ“œ(self): μ½”λ“œ

클래슀λ₯Ό 톡해 객체λ₯Ό μƒμ„±ν•˜λ©΄ ν•΄λ‹Ή 객체λ₯Ό μΈμŠ€ν„΄μŠ€λΌκ³  λΆ€λ₯Έλ‹€.
μΈμŠ€ν„΄μŠ€ = 클래슀()
ν΄λž˜μŠ€λŠ” νŠΉμ • κ°œλ…μ„ ν‘œν˜„λ§Œ ν•  뿐 μ‹€μ œ μ‚¬μš©μ„ ν•˜κΈ° μœ„ν•΄μ„œλŠ” μΈμŠ€ν„΄μŠ€λ₯Ό 생성해야 ν•œλ‹€.

λ©”μ„œλ“œλŠ” ν΄λž˜μŠ€κ°€ μ•„λ‹ˆλΌ μΈμŠ€ν„΄μŠ€λ₯Ό 톡해 ν˜ΈμΆœν•˜κ³  μ΄λ ‡κ²Œ μΈμŠ€ν„΄μŠ€λ₯Ό 톡해 ν˜ΈμΆœν•˜λŠ” λ©”μ„œλ“œλ₯Ό μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œλΌκ³  λΆ€λ₯Έλ‹€.

파이썬의 클래슀

μ•žμ„œ λ‹€λ£¨μ—ˆλ˜ int, list, dict 등도 ν΄λž˜μŠ€μ΄λ‹€.
이 클래슀둜 μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€κ³  λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.
νŒŒμ΄μ¬μ€ λͺ¨λ“ κ²Œ 객체(μΈμŠ€ν„΄μŠ€)둜 λ˜μ–΄μžˆλ‹€κ³  λ³Ό 수 μžˆλ‹€.

a = 10
type(a) # <class 'int'>
b = [0, 1, 2]
type(b) # <class 'list'>
c = {'x':10, 'y':20}
type(c) # <class 'dict'>

[[리슀트&νŠœν”Œ μ‘μš©]]μ—μ„œ μ‚¬μš©ν•œ λ©”μ„œλ“œλ“€ λ˜ν•œ, μΈμŠ€ν„΄μŠ€μΈ 리슀트 aμ—μ„œ λ©”μ„œλ“œ appendλ₯Ό ν˜ΈμΆœν•΄μ„œ 값을 μΆ”κ°€ν•˜λŠ” κ³Όμ • 처럼 클래슀 κ΄€μ μœΌλ‘œ 해석 κ°€λŠ₯ν•˜λ‹€.

속성 μ‚¬μš©ν•˜κΈ°

νŒŒμ΄μ¬μ—μ„œ 속성을 λ§Œλ“€ λ•ŒλŠ” __init__ λ©”μ„œλ“œ μ•ˆμ—μ„œ self.속성에 값을 ν• λ‹Ήν•΄μ•Ό ν•œλ‹€.

class 클래슀 이름:
    def __init__(self):
         self.속성 = κ°’

init λ©”μ„œλ“œλŠ” μƒμ„±μž 역할을 ν•˜μ—¬, 클래슀λ₯Ό 톡해 μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€ λ•Œ 호좜 λ˜λŠ” νŠΉλ³„ν•œ λ©”μ„œλ“œμ΄λ‹€.
μ΄λ¦„λŒ€λ‘œ, μΈμŠ€ν„΄μŠ€(객체)λ₯Ό μ΄ˆκΈ°ν™” ν•œλ‹€. μŠ€νŽ˜μ…œ λ©”μ„œλ“œ ν˜Ήμ€ 맀직 λ©”μ„œλ“œ 라고 λΆ€λ₯Έλ‹€.

self의 의미

처음 생성할 λ•Œ 뿐 μ•„λ‹ˆλΌ 클래슀 μ•ˆμ—μ„œ 속성을 μ‚¬μš©ν•  λ•Œλ„ self.hello 처럼 self에 점을 λΆ™μ—¬ μ‚¬μš©ν•˜λ©΄ λœλ‹€.
selfλŠ” μΈμŠ€ν„΄μŠ€ 자기 μžμ‹ μ„ μ˜λ―Έν•œλ‹€.
μΈμŠ€ν„΄μŠ€ = 클래슀(self) μ—μ„œ 처럼 클래슀λ₯Ό ν˜ΈμΆœν•˜λ©΄ μΈμŠ€ν„΄μŠ€κ°€ μžλ™μœΌλ‘œ λ§€κ°œλ³€μˆ˜ self에 λ“€μ–΄μ˜¨λ‹€.

μΈμŠ€ν„΄μŠ€ λ§Œλ“€ λ•Œ κ°’ λ°›κΈ°

init μ—μ„œ μ‚¬μš©μžμ—κ²Œ self에 값을 λ°›μœΌλ €λ©΄ λ§€κ°œλ³€μˆ˜λ₯Ό 톡해 μ§€μ • κ°€λŠ₯ν•˜λ‹€.

class 클래슀 이름:
    def __init__(self, λ§€κ°œλ³€μˆ˜1, λ§€κ°œλ³€μˆ˜2):
        self.속성1 = λ§€κ°œλ³€μˆ˜1
        self.속성2 = λ§€κ°œλ³€μˆ˜2

λŒ€μ‹  μ΄λ ‡κ²Œ λ§€κ°œλ³€μˆ˜λ₯Ό μ„€μ •ν•˜κ³  λ‚˜λ©΄, 객체λ₯Ό 생성할 λ•Œ λ°˜λ“œμ‹œ λ§€κ°œλ³€μˆ˜μ— 값을 μ±„μ›Œμ€˜μ•Ό ν•œλ‹€.

print('{0} μ €λŠ” {1}μž…λ‹ˆλ‹€.'.format(self.hello, self.name)) μ—μ„œ {0}, {1}에 format의 λ§€κ°œλ³€μˆ˜ 값듀이 올 수 μžˆλ‹€.

λΉ„κ³΅κ°œ 속성 μ‚¬μš©

클래슀 μ•ˆμ—μ„œλ§Œ μ‚¬μš©ν•˜κ³  μ™ΈλΆ€μ—μ„œλŠ” μ‚¬μš©ν•  수 없도둝 ν•˜λŠ” private ν•œ 속성을 λ§Œλ“€ λ•ŒλŠ” μ•žμ— 밑쀄 λ‘κ°œλ₯Ό λΆ™μ—¬μ„œ 속성을 λ§Œλ“€λ©΄ λœλ‹€.

class ν΄λž˜μŠ€μ΄λ¦„:
     def __init__(self, λ§€κ°œλ³€μˆ˜):
        self.__속성 = κ°’

클래슀 속성

μ§€κΈˆκΉŒμ§€ 닀룬 λ‚΄μš©μ€ 클래슀둜 λ§Œλ“€μ–΄ λ‚΄λŠ” μΈμŠ€ν„΄μŠ€μ˜ 속성과 λ©”μ„œλ“œμ˜€λ‹€.
μ—¬κΈ°μ„œ μΈμŠ€ν„΄μŠ€κ°€ μ•„λ‹ˆλΌ 클래슀 μžμ²΄μ— 속성을 λ§Œλ“€ μˆ˜λ„ μžˆλ‹€.

def 클래슀 이름:
    속성 = κ°’

λͺ¨λ“  μΈμŠ€ν„΄μŠ€μ—μ„œ κ³΅ν†΅μ μœΌλ‘œ μ‚¬μš©ν•˜λŠ” 곡용 데이터λ₯Ό λ§Œλ“€ λ•Œ μ‚¬μš©ν•˜λŠ” 방법이닀.
즉 클래슀 속성은 ν΄λž˜μŠ€μ— 속해 μžˆμœΌλ©΄μ„œ λͺ¨λ“  μΈμŠ€ν„΄μŠ€μ—μ„œ κ³΅μœ λœλ‹€.
μΈμŠ€ν„΄μŠ€ 전체가 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 값은 클래슀 속성에, 각 μΈμŠ€ν„΄μŠ€κ°€ 값을 λ”°λ‘œ μ €μž₯ν•΄μ•Ό ν•  λ•ŒλŠ” μΈμŠ€ν„΄μŠ€ 속성에 μ €μž₯ν•˜λ©΄ λœλ‹€.
(타 μ–Έμ–΄μ—μ„œ μŠ€νƒœν‹± λ³€μˆ˜μ™€ 같은 κ°œλ…)

selfλ‘œλ„ 클래슀 속성에 접근은 κ°€λŠ₯ν•˜μ§€λ§Œ, 클래슀 이름을 톡해 μ ‘κ·Όν•˜λŠ” 것이 더 λͺ…ν™•ν•œ μ½”λ“œκ°€ λœλ‹€.

class Person:
    species = 'human'  # 클래슀 속성

    def __init__(self, name):
        self.name = name  # μΈμŠ€ν„΄μŠ€ 속성

p1 = Person('홍길동')
p2 = Person('κΉ€μ² μˆ˜')

print(p1.species, p2.species)  # human human
Person.species = 'homo sapiens'
print(p1.species, p2.species)  # homo sapiens homo sapiens
print(p1.name, p2.name)  # 홍길동 κΉ€μ² μˆ˜

값을 μ—¬λŸ¬ μ‚¬λžŒμ΄ κ³΅μœ ν•˜λ €λ©΄ 클래슀 속성, κ³΅μœ ν•˜μ§€ μ•ŠμœΌλ €λ©΄ μΈμŠ€ν„΄μŠ€ 속성을 μ‚¬μš©ν•˜λ©΄ λœλ‹€.
μ•žμ„œ λ‹€λ£¨μ—ˆλ˜ λŒ€λ‘œ, μΈμŠ€ν„΄μŠ€ 속성은 μΈμŠ€ν„΄μŠ€λ³„λ‘œ λ…λ¦½λ˜μ–΄ 있기 λ•Œλ¬Έμ— μ„œλ‘œ 영ν–₯을 μ£Όμ§€ μ•ŠλŠ”λ‹€.

속성을 찾을 λ•Œμ—λŠ”, μΈμŠ€ν„΄μŠ€μ— 속성이 μžˆλŠ”μ§€λ₯Ό λ¨Όμ € μ²΄ν¬ν•œ λ‹€μŒ ν΄λž˜μŠ€μ— 속성이 μžˆλŠ”μ§€ μ²΄ν¬ν•œλ‹€.

 
λΉ„κ³΅κ°œ 클래슀 속성

λ§ˆμ°¬κ°€μ§€λ‘œ λΉ„κ³΅κ°œλ‘œ 클래슀 속성을 λ§Œλ“œλ €λ©΄ μ•žμ— 밑쀄 λ‘κ°œλ₯Ό λΆ™μ—¬μ£Όλ©΄ λœλ‹€.

 

정적 λ©”μ„œλ“œ

  • λ©”μ„œλ“œ μœ„μ— @staticmethod λ₯Ό 뢙이면 정적 λ©”μ„œλ“œκ°€ λœλ‹€.
    • μ΄λ ‡κ²Œ @이 뢙은 것을 λ°μ½”λ ˆμ΄ν„° 라고 ν•œλ‹€. λ©”μ„œλ“œμ— μΆ”κ°€ κΈ°λŠ₯을 κ΅¬ν˜„ν•  λ•Œ μ‚¬μš©λœλ‹€.
  • 정적 λ©”μ„œλ“œλŠ” λ§€κ°œλ³€μˆ˜μ— selfλ₯Ό μ§€μ •ν•˜μ§€ μ•ŠλŠ”λ‹€(λ§€κ°œλ³€μˆ˜λ§Œ μ‚¬μš©)
  • μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€μ§€ μ•Šκ³  λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜κ³  μ‹Άμ„λ•Œ μŠ€νƒœν‹± λ©”μ„œλ“œ 생성

 

클래슀 λ©”μ„œλ“œ

  • λ©”μ„œλ“œ μ•žμ— @classmethodλ₯Ό λΆ™μ—¬ μ‚¬μš©
  • 첫번째 맀개 λ³€μˆ˜μ— clsλ₯Ό μ§€μ •ν΄λž˜μŠ€ λ©”μ†Œλ“œλŠ” 정적 λ©”μ†Œλ“œμ™€ μœ μ‚¬ν•œλ°, λ‚΄λΆ€μ μœΌλ‘œ 자체적인 μΈμŠ€ν„΄μŠ€λ₯Ό μΆ”κ°€ν•  수 μžˆλŠ” νŠΉμ„±μ΄ μžˆλ‹€.
  • @classmethod def class(cls): p = cls() return p
  • class 클래슀 이름: @classmethod def λ©”μ„œλ“œ(cls, λ§€κ°œλ³€μˆ˜1, λ§€κ°œλ³€μˆ˜2): μ½”λ“œ

클래슀 상속

클래슀 상속은 물렀받은 κΈ°λŠ₯을 μœ μ§€ν•œ 채 λ‹€λ₯Έ κΈ°λŠ₯을 μΆ”κ°€ν•  λ•Œ μ‚¬μš©ν•˜λŠ” κΈ°λŠ₯

  • κΈ°λŠ₯을 λ¬Όλ €μ£ΌλŠ” 클래슀λ₯Ό 기반 클래슀(base class)
    • λΆ€λͺ¨ 클래슀, 슈퍼 클래슀 라고 뢀름
  • 상속을 λ°›μ•„ μƒˆλ‘­κ²Œ λ§Œλ“œλŠ” 클래슀λ₯Ό νŒŒμƒ 클래슀(derived class)라고 ν•œλ‹€.
    • μžμ‹ 클래슀, μ„œλΈŒ 클래슀 라고 뢀름
class κΈ°λ°˜ν΄λž˜μŠ€μ΄λ¦„: μ½”λ“œ

class νŒŒμƒν΄λž˜μŠ€μ΄λ¦„(κΈ°λ°˜ν΄λž˜μŠ€μ΄λ¦„):  
μ½”λ“œ

와 같은 ν˜•μ‹μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€.

  • 상속을 ν•˜λ©΄ ν•  수둝 κΈ°λŠ₯이 λ§Žμ•„μ§„λ‹€.
  • 기반 클래슀의 __init__λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•˜μ§€ μ•ŠμœΌλ©΄ μ‚¬μš©ν•  수 μ—†κΈ° λ•Œλ¬Έμ— super()λ₯Ό μ¨μ„œ ν˜ΈμΆœν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.
    • νŒŒμƒ ν΄λž˜μŠ€μ—μ„œ __init__ 을 μ•„μ˜ˆ μƒλž΅ν•΄λ²„λ¦¬λ©΄, 기반 클래슀의 λ©”μ„œλ“œλ₯Ό μžλ™μœΌλ‘œ ν™λ£¨ν•˜λ―€λ‘œ super()λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€.

λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ”©

  • 기반, νŒŒμƒ 클래슀 λͺ¨λ‘μ— 같은 μ΄λ¦„μ˜ λ©”μ„œλ“œκ°€ μžˆλŠ” 경우 보톡 μžμ‹ μ΄ λ§Œλ“ (νŒŒμƒ) λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.
    • λ§Œμ•½ 기반 클래슀의 λ©”μ„œλ“œλ₯Ό μ“°κ³  μ‹ΆμœΌλ©΄ super().λ©”μ„œλ“œ() 둜 μ‹€ν–‰ν•˜λ©΄ λœλ‹€.

닀쀑 상속

  • νŒŒμƒν΄λž˜μŠ€μ˜ λ§€κ°œλ³€μˆ˜λ‘œ 기반 클래슀 μ—¬λŸ¬κ°œλ₯Ό λ„£μœΌλ©΄, μ—¬λŸ¬ ν΄λž˜μŠ€λ‘œλΆ€ν„° 상속을 받을 수 μžˆλ‹€.
닀이아λͺ¬λ“œ 상속

  • Aλ₯Ό 상속받은 B,Cλ₯Ό λ‹€μ€‘μƒμ†μ‚¬λŠ” Dκ°€ μžˆλŠ” 경우 닀이아λͺ¬λ“œ 상속 이라고 ν•œλ‹€.
  • 이런 λͺ…ν™•ν•˜μ§€ μ•Šκ³  μ• λ§€ν•œ μƒνƒœλŠ” μ’‹μ§€ μ•Šλ‹€.
  • 이 경우 μ€‘λ³΅λ˜λŠ” λ©”μ„œλ“œκ°€ λͺ¨λ‘ 있으면 κ°€μž₯ κ°€κΉŒμš΄ μƒμ†μ˜ λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•œλ‹€.
λ©”μ„œλ“œ 탐색 μˆœμ„œ 확인
  • 닀이아λͺ¬λ“œ 상속에 λŒ€ν•œ ν•΄κ²°μ±…μœΌλ‘œ νŒŒμ΄μ¬μ—μ„œλŠ” λ©”μ„œλ“œ 탐색 μˆœμ„œ(Method Resolution, MRO)λ₯Ό λ”°λ₯Έλ‹€.
  • D.mro() # [<class '__main__.D'>, <class '__main__.B'>, ...]

μΆ”μƒν΄λž˜μŠ€

  • λ©”μ„œλ“œμ˜ λͺ©λ‘λ§Œ κ°€μ§„ 클래슀이며 μƒμ†λ°›λŠ” ν΄λž˜μŠ€μ—μ„œ λ©”μ„œλ“œ κ΅¬ν˜„μ„ κ°•μ œν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€
    • 즉, λ©”μ„œλ“œμ˜ λ‚΄μš©μ΄ μ—†λ‹€
    • @abstractmethodλ₯Ό 톡해 좔상 클래슀의 좔상 λ©”μ„œλ“œλ₯Ό κ΅¬ν˜„ν•˜λ©΄ λœλ‹€.
from abc import *

class μΆ”μƒν΄λž˜μŠ€μ΄λ¦„(metaclass=ABCMeta):  
  @abstractmethod  
  def λ©”μ„œλ“œμ΄λ¦„(self): # 좔상 λ©”μ„œλ“œ  
      μ½”λ“œ
  • μΆ”μƒν΄λž˜μŠ€λ₯Ό 상속받은 경우 좔상 λ©”μ„œλ“œλ₯Ό λͺ¨λ‘ κ΅¬ν˜„ν•΄μ•Όν•œλ‹€.
  • 였직 상속을 μœ„ν•œ μš©λ„λ‘œλ§Œ μ‚¬μš©ν•˜κ³  싢을 λ•Œ 좔상 클래슀λ₯Ό μ‚¬μš©ν•œλ‹€.
    • 좔상 ν΄λž˜μŠ€λŠ” μΈμŠ€ν„΄μŠ€λ‘œ λ§Œλ“€ 수 μ—†λ‹€ -> μ—λŸ¬ λ°œμƒ
    • νŒŒμƒν΄λž˜μŠ€μ—μ„œ λ°˜λ“œμ‹œ κ΅¬ν˜„ν•΄μ•Όν•  λ©”μ„œλ“œλ₯Ό μ§€μ •ν•˜λŠ” μš©λ„λ‘œ μ‚¬μš©λœλ‹€

'Language > Python' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Python] λ”•μ…”λ„ˆλ¦¬(Dictionary)  (0) 2025.03.19
[Python] μ‹œν€€μŠ€ μžλ£Œν˜•(리슀트, νŠœν”Œ, range, λ¬Έμžμ—΄)  (1) 2025.03.19
[Python] λ°°μ—΄κ³Ό νŠœν”Œ(feat. FizzBuzz)  (1) 2025.03.11
[Python] 비ꡐ μ—°μ‚°μž, 논리 μ—°μ‚°μž  (0) 2025.03.11
[Python] λ³€μˆ˜μ™€ λ¬Έμžμ—΄ μž…μΆœλ ₯  (2) 2025.03.11
'Language/Python' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Python] λ”•μ…”λ„ˆλ¦¬(Dictionary)
  • [Python] μ‹œν€€μŠ€ μžλ£Œν˜•(리슀트, νŠœν”Œ, range, λ¬Έμžμ—΄)
  • [Python] λ°°μ—΄κ³Ό νŠœν”Œ(feat. FizzBuzz)
  • [Python] 비ꡐ μ—°μ‚°μž, 논리 μ—°μ‚°μž
_루디_
_루디_
  • _루디_
    Rudy DevNote πŸ“˜
    _루디_
  • πŸ ν™ˆ ν™”λ©΄
    κΈ€μ“°κΈ° 관리
    • All (45)
      • Database (7)
        • λ°μ΄ν„°λ² μ΄μŠ€ 이둠 (7)
      • CodingTest (3)
        • Algorithm (2)
        • Data Structure (0)
        • Solving (0)
      • CS 지식 (9)
        • μ •λ³΄λ³΄ν˜Έλ‘  (6)
        • λ„€νŠΈμ›Œν¬ (3)
        • 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ° (0)
      • Framework (4)
        • Node.js (1)
        • Nest.js (3)
        • Spring (0)
      • Design Pattern (1)
      • Language (8)
        • Java (0)
        • JavaScript (2)
        • TypeScript (0)
        • Python (6)
      • 인곡지λŠ₯(AI) (1)
        • λ¨Έμ‹ λŸ¬λ‹(ML) (1)
      • My Story (10)
        • 자격증 (2)
        • λŒ€νšŒ&ν”Œμ  ν›„κΈ° (3)
        • μš°μ•„ν•œν…Œν¬μ½”μŠ€ (5)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.1
_루디_
[Python] 클래슀, 상속
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”