본문 바로가기
SW 코딩/파이썬

[파이썬 python] 클래스 상속 이해하기

by 『 2021. 1. 14.
728x170

클래스 상속 소스코드.txt
0.00MB

클래스 상속 class

# 클래스 상속
# Parent Class, Super Class  : 물려주는 클래스
# Child Class, Sub class : 물려받는 클래스
 
# 클래스 상속을 이용하면 Super(parent) Class의 속성을 Sub(child) Class에서 사용이 가능
 
 
class Animal:
    # Super class 생성
    name = "동물"
    age = "나이"
    living = "산"
 
    def print(self):
        print(f'여기는 super class 의 print 메서드 입니다.')
 
    def print_2(self):
     print(f'여기는 super class 의 print_2 메서드 입니다.')
 
 
class Cat(Animal):
    # Sub class 생성
 
    def __init__(self,name):
        self.name = name
 
    def print_animal_name(self):
        print(f'여기는 sub class 입니다. 종류는 {self.name} 입니다.')
 
    def print(self):
        print(f'여기는 sub class 의 print 메서드 입니다.')
 
    def print_2(self):
        super().print_2()
        print(f'여기는 sub class 의 print_2 메서드 입니다.')
 
a=Cat('토끼')
 
print("\n1----------")
# super class 의 print 메서드를 사용이 가능
a.print()
 
print("\n2----------")
a.print_animal_name()
 
print("\n3----------")
print("super, sub class 모두 print 메서드를 갖고 있습니다.")
print("print 메서드를 사용하면 어디꺼를 실행할까요? 답:sub class")
a.print()
 
 
print("\n4----------")
print("그러면 super class의 메서드를 갖고 올려면 어떻게 할까요??")
print("super() 사용")
a.print_2()
 
cs

실행 결과

1----------
여기는 sub class 의 print 메서드 입니다.

2----------
여기는 sub class 입니다. 종류는 토끼 입니다.

3----------
super, sub class 모두 print 메서드를 갖고 있습니다.
print 메서드를 사용하면 어디꺼를 실행할까요? 답:sub class
여기는 sub class 의 print 메서드 입니다.

4----------
그러면 super class의 메서드를 갖고 올려면 어떻게 할까요??
super() 사용
여기는 super class 의 print_2 메서드 입니다.
여기는 sub class 의 print_2 메서드 입니다.

그리드형

댓글