Python출력 결과어려움 · 30점#클래스#상속#오버라이딩

17. 클래스 상속과 super, 오버라이딩

다음 Python 프로그램의 실행 결과를 쓰시오.

1class Animal:
2 count = 0
3
4 def __init__(self, name):
5 self.name = name
6 Animal.count += 1
7
8 def sound(self):
9 return "..."
10
11 def speak(self):
12 return self.name + ":" + self.sound()
13
14
15class Dog(Animal):
16 def __init__(self, name, age):
17 super().__init__(name)
18 self.age = age
19
20 def sound(self):
21 return "멍"
22
23
24class Puppy(Dog):
25 def sound(self):
26 return super().sound() * 2
27
28
29pets = [Animal("고양이"), Dog("바둑", 3), Puppy("초코", 1)]
30for p in pets:
31 print(p.speak())
32print(Animal.count, pets[2].age)

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.