본문 바로가기

python

class - method override (재정의)

method override(재정의)

부모 클래스의 메소드를 자식클래스에서 재정의해서 사용할 수 있다.

# method override(재정의)

class Parent:
    def printData(self):
        pass
    
class child1(Parent):
    def printData(self):    # method override
        print('child1에서 재정의')
class child2(Parent):
    def printData(self):    # method override
        print('child2에서 override')
        print('오버라이드는 부모의 메소드를 자식이 재정의')
    def abc(self):
        print('Child2 고유 메소드')
        
c1 = child1()
c1.printData()
print()
c2 = child2()
c2.printData()

print('다형성 ----')
# par = Parent()
par = c1
par.printData()
print()
par = c2
par.printData()
par.abc()

child1에서 재정의

child2에서 override
오버라이드는 부모의 메소드를 자식이 재정의
다형성 ----
child1에서 재정의

child2에서 override
오버라이드는 부모의 메소드를 자식이 재정의
Child2 고유 메소드

 

 

for 반복문으로 응용해서 사용하는 형태

c1, c2는 위의 코드 참고

plist = [c1, c2]
for i in plist:
    i.printData()

child1에서 재정의
child2에서 override
오버라이드는 부모의 메소드를 자식이 재정의

'python' 카테고리의 다른 글

class - 추상클래스  (0) 2022.10.11
class - 다중 상속  (0) 2022.10.11
class - 클래스 상속  (0) 2022.10.11
파이썬 내장함수 - map, filter  (0) 2022.10.09
class 예제 - (커피 자판기 만들기)  (0) 2022.10.07