오버로딩과 오버라이딩

장서연·2021년 9월 10일
0

오버로딩

  • 오버로딩은 동일 이름의 메서드를 매개변수만 다르게 하여 여러개 정의할 수 있는 기능이다.
  • 파이썬에서는 오버로딩 기능을 지원하지 않는다.

오버라이딩

  • 오버라이딩은 하위클래스에서 상위클래스를 재정의할 수 있는 기능이다.
  • 오버라이딩 특징
    • 오버라이드하고자하는 메서드가 상위클래스에 존재해야함
    • 메서드 이름은 같아야 함
    • 메서드매개변수, 데이터 타입이 같아야 한다
    • 메서드 반환형이 같아야함
class A:
    def fn(self):
        print('A')
class B(A):
    def fn(self):
        # super().fn() 실행시 A B 출력
        print('B')

obj = B()
obj.fn()

0개의 댓글