Python 클래스(class) - 클래스상속

Nicholas·2022년 4월 23일
0

Python

목록 보기
19/31
post-thumbnail

1. 클래스 상속의 의미

  • 기존클래스를 변경하지 않고 기능을 추가하거나 기능중 일부를 변경할때 사용한다.

2. 클래스 상속 기본 구조

    class : 클래스이름(상속할 클래스이름)
class ClassName:                  # 부모 클래스
    pass
    
class MoreClassname(ClassName):    # 상속 클래스
    pass

3. 클래스 상속의 특징

  • 부모 클래스를 건들지않고 클래스 상속을 이용하여 메소드를 추가할 수 있다.
  • 부모클래스의 메소드이름과 상속받은 클래스에서 동일한 메소드이름을 사용할 경우 상속받은 클래스가 덮어씌운다.
  • 이것을 메소드 오버라이딩라고 한다.
class FourCal:
    def __init__(self, first, second):
        print("나는 계산기입니다.")
        self.first = first
        self.second = second


    def add(self):
        result = self.first + self.second
    return result

    def sub(self):
        result = self.first - self.second
    return result


class MoreFourCal(FourCal):
    def pow(self):
        result = self.first ** self.second
    return result


a = FourCal(13, 10)
print("정답은 : ", a.add())
print("정답은 : ", a.sub())

>>> 나는 계산기입니다.
    정답은 :  23
    정답은 :  3

a = MoreFourCal(14, 9)
print("클래스상속자의 정답은 : ", a.add())
print("클래스상속자의 정답은 : ", a.sub())
print("클래스상속자의 pow 정답은 : ", a.pow())

>>> 나는 계산기입니다.
    클래스상속자의 정답은 :  23
    클래스상속자의 정답은 :  5
    클래스상속자의 pow 정답은 :  20661046784

FourCal이라는 클래스를 MoreFourCal이라는 클래스로 매소드를 상속했으므로 모든 FourCal 클래스의 매소드를 MoreFourCal가 사용할 수 있다. 또한 추가할수도 있으며, 기존에 부모클래스인 FourCal에 있는 add함수를 동일한 이름으로 MoreFourCal클래스에서 사용한다면 상속 클래스인 MoreFourCal 클래스가 우선(메소드 오버라이딩)된다.

profile
WEB Developer

0개의 댓글