파이썬 강좌(초급)/8.클래스

8.클래스 - 6) 메서드오버라이딩

파기차차 2024. 4. 1. 08:01
728x90
반응형
SMALL

 

1) 메서드 오버라이딩이 뭐에요?

메서드 오버라이딩(Method Overriding)은 부모 클래스의 메서드를 자식 클래스에서 다시 정의하여 사용하는 것을 말합니다. 이를 통해 자식 클래스는 부모 클래스의 메서드를 자신의 필요에 맞게 변경할 수 있습니다.

# 부모 클래스
class Animal:
    def sound(self):
        print("부모 멍멍")
 
# 자식 클래스
class Dog(Animal):
    def sound(self):  # 부모 클래스의 sound 메서드를 다시 정의 (오버라이딩)
        print("자식 멍멍!")
 
# 자식 클래스의 객체 생성
dog = Dog()
 
# 자식 클래스의 sound 메서드 호출
dog.sound()  # 출력: 자식 멍멍!

위 코드에서 Animal 클래스에는 sound 메서드가 정의되어 있습니다. 그리고 Dog 클래스는 Animal 클래스를 상속받아 sound 메서드를 다시 정의하였습니다. 이렇게 하면 Dog 클래스의 객체는 부모 클래스인 Animal 클래스의 sound 메서드가 아닌 자식 클래스인 Dog 클래스의 sound 메서드가 호출됩니다.

 

따라서 dog.sound()를 호출하면 "자식 멍멍!"이 출력되는 것을 확인할 수 있습니다. 이처럼 메소드 오버라이딩을 통해 자식 클래스는 부모 클래스의 메서드를 재정의하여 자신의 동작을 구현할 수 있습니다.

 

 

 2) 실습

 

(1) 아래 코드의 실행 결과를 예상해 보세요.

class 부모:
	def 호출(self):
		print("부모호출")
        
class 자식(부모):
	def 호출(self):
		print("자식호출")
        
나 = 자식()
나.호출()

 

 

모범답안

더보기
자식호출
728x90
반응형
LIST