끄적끄적 코딩
article thumbnail
Published 2020. 9. 15. 04:07
[파이썬] 메소드 오버라이딩 Python
728x90

메소드 오버라이딩이
이미 선언되어있는 메소드를 상속받은 클래스에서 재정의해서 사용하는것을 의미합니다

위의 그림에서 메소드 오버라이딩은 부모로 부터 받은 메소드인
"짖기"를 새로 정의해서 우렁차게 짖기로 사용한 예입니다.

 

<python />
class People: def __init__(self, name, age, weight, run_speed): self.name = name self.age = age self.weight = weight self.run_speed = run_speed print("{0}이 입장하였습니다.".format(self.name)) print("나이는 {0}, 몸무게는 {1} 입니다.".format(self.age, self.weight)) def move(self): print("{0}이 {1}속도로 달리고있습니다.".format(self.name, self.run_speed)) class Car: def __init__(self, speed): self.speed = speed def drive(self): print("{0}이 {1}속도로 주행중입니다.".format(self.name, self.speed)) class detailPeople(People, Car): def __init__(self, name, age, weight, height): People.__init__(self, name, age, weight, "0km/h") Car.__init__(self, "0km/h") self.height = height self.flight_speed = "200km/h" def fly(self): print("{0}이 {1}속도로 비행 하고 있습니다.".format(self.name, self.flight_speed)) def move(self): self.fly() guest_3 = detailPeople("June", 20, 70, 170) guest_3.move()


출력결과
June이 입장하였습니다.
나이는 20, 몸무게는 70 입니다.
June이 200km/h속도로 비행 하고 있습니다.

위의 예제에서 People 클래스에서 move함수를 선언했는데
People을 상속받은 detailPeople에서 move함수를 재정의해서 사용합니다.


'Python' 카테고리의 다른 글

[파이썬] 예외처리 (try, except, finally)  (0) 2020.09.15
[파이썬] pass, super  (0) 2020.09.15
[파이썬] 상속, 다중 상속  (0) 2020.09.15
[파이썬] 클래스  (0) 2020.09.15
[파이썬] with  (0) 2020.09.15

검색 태그