ruby-jieun 2023. 1. 9. 23:13

 

오버라이딩

 


 

 

 

오버라이딩

하위 클래스에서 상위 클래스의 메서드를 재정의(override)한다.

 

오버라이딩 - 무시하다, 우선하다.

  말 그대로 기반 클래스의 메서드를 무시하고 새로운 메서드를 만든다는 뜻이다.

 

오버라이딩 사용 이유

 - 보통 프로그램에서 어떤 기능이 같은 메서드 이름으로 계속 사용되어야 할 때 메서드 오버라이딩을 활용합니다.

 

class Person:
    def greeting(self):
        print('안녕하세요.')
 
class Jieun(Person):
    def greeting(self):
        super().greeting()    # 기반 클래스의 메서드 호출하여 중복을 줄임
        print('저는 김지은입니다.')
 
james = Jieun()
james.greeting()

 

중복되는 기능은 파생 클래스에서 다시 만들지 않고, 기반 클래스의 기능을 사용합니다.

이렇게 메서드 오버라이딩은 원래 기능을 유지하면서 새로운 기능을 덧붙일 때 사용합니다.