λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Python

[Python] 클래슀의 상속

by μ½”λ”©ν•˜λŠ” λΆ•μ–΄ 2021. 4. 3.
λ°˜μ‘ν˜•

[Python] μƒμ„±μž(Constructor)에 μ΄μ–΄μ„œ..

 

 

μƒμ†μ΄λž€ 'λ¬Όλ €λ°›λ‹€'λΌλŠ” λœ»μ΄λ‹€.

λ˜ν•œ, μ–΄λ–€ 클래슀λ₯Ό λ§Œλ“€ λ•Œ λ‹€λ₯Έ 클래슀의 κΈ°λŠ₯을 물렀받을 수 있게 λ§Œλ“œλŠ” 것이닀.

 

class 클래슀 이름(상속할 클래슀 이름)

클래슀λ₯Ό μƒμ†ν•˜κΈ° μœ„ν•΄μ„œλŠ” 클래슀 이름 λ’€ κ΄„ν˜Έ μ•ˆμ— 상속할 클래슀 이름을 λ„£μ–΄μ•Ό ν•œλ‹€.

 

 

예)

μ•„λž˜μ™€ 같이 FourCal 클래슀λ₯Ό μƒμ†ν•˜λŠ” MoreFourCal 클래슀λ₯Ό λ§Œλ“ λ‹€.

MoreFourCal ν΄λž˜μŠ€λŠ” FourCal 클래슀λ₯Ό μƒμ†ν–ˆμœΌλ―€λ‘œ FourCal 클래슀의 λͺ¨λ“  κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.

 

 

λͺ¨λ“  κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆλ‹€λŠ”κ±Έ 확인 ν•  수 μžˆλ‹€.

 

 

이제 MoreFourCal ν΄λž˜μŠ€μ— a의 bμ œκ³±μ„ κ³„μ‚°ν•˜λŠ” κΈ°λŠ₯을 λ§Œλ“ λ‹€.

계산 μ™„λ£Œ

 

β˜… 상속은 κΈ°μ‘΄ ν΄λž˜μŠ€λŠ” κ·ΈλŒ€λ‘œ 놔둔 채 클래슀의 κΈ°λŠ₯을 ν™•μž₯μ‹œν‚¬ λ•Œ 주둜 μ‚¬μš©ν•œλ‹€.

 

 

 

 

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

μ΄λ²ˆμ—λŠ” FourCal 클래슀λ₯Ό λ‹€μŒκ³Ό 같이 μ‹€ν–‰ν•΄λ³Έλ‹€.

4λ₯Ό 0으둜 λ‚˜λˆ„λ €κ³  ν•˜κΈ° λ•Œλ¬Έμ— μœ„μ™€ 같은 ZeroDivisionError 였λ₯˜κ°€ λ°œμƒν•œλ‹€.

0으둜 λ‚˜λˆŒ λ•Œ 였λ₯˜κ°€ μ•„λ‹Œ 0을 λŒλ €μ£Όλ„λ‘ λ§Œλ“€κ³  μ‹Άλ‹€λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν• κΉŒ?

 

λ‹€μŒκ³Ό 같이 FourCal 클래슀λ₯Ό μƒμ†ν•˜λŠ” SafeFourCal 클래슀λ₯Ό λ§Œλ“€μ–΄ 보자.

FourCal ν΄λž˜μŠ€μ— μžˆλŠ” div λ©”μ„œλ“œλ₯Ό λ‹€μ‹œ μž‘μ„±ν•˜μ˜€λ‹€.

 

μ΄λ ‡κ²Œ λΆ€λͺ¨ ν΄λž˜μŠ€μ— μžˆλŠ” λ©”μ„œλ“œλ₯Ό λ™μΌν•œ μ΄λ¦„μœΌλ‘œ λ‹€μ‹œ λ§Œλ“œλŠ” 것을 λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ”©μ΄λΌκ³  ν•œλ‹€.

λ©”μ„œλ“œλ₯Ό μ˜€λ²„λΌμ΄λ”©ν•˜λ©΄ λΆ€λͺ¨ 클래슀의 λ©”μ„œλ“œ λŒ€μ‹  μ˜€λ²„λΌμ΄λ”©ν•œ λ©”μ„œλ“œκ°€ ν˜ΈμΆœλœλ‹€.

 

ZeroDivisionError 였λ₯˜κ°€ λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€.

 

λ°˜μ‘ν˜•

λŒ“κΈ€