반응형
메소드 오버로딩이란
클래스 A 가 있고,
클래스 A를 상속받아서 만든 클래스 B가 있을 때
클래스 B는 클래스 A를 상속받았기 때문에, 클래스 B 에서는 클래스 A에 정의된 fun_A를 호출 할 수 있음.
근데 이 때, 클래스 B 에서 fun_A를 다시 재정의해서 원래 클래스 A에 정의된 fun_A랑 별개로 기능하는 펑션을
만들어 쓰는걸 메소드 오버로딩이라고 한다.
즉, 자식이 부모의 메소드를 그대로 안쓰고 다시 재정의해서 쓰는걸 말한다.
class paraent():
def fun_a(self):
print("나는 부모의 펑션이다.")
class child(paraent):
pass
class child_override(paraent):
def fun_a(self):
print("나는 물려받은거 재정의했음")
temp1 = child()
temp1.fun_a()
temp2 = child_override()
temp2.fun_a()
>>> 나는 부모의 펑션이다.
>>> 나는 물려받은거 재정의했음
child_override 클래스의 경우 fun_a를 재정의 했기 때문에 부모가 정의한거랑 다른 내용으로 실행 됨
메소드 오버로딩
메소드 오버로딩은 펑션 이름은 같은데 return 타입, 파라미터 갯수,파라미터의 데이터타입 등을 다르게 해서 만드는걸 말함
fun1(input1,input2,input3)
fun1(input1)
위 예시의 경우 이름은 같은데 인풋 파라미터 갯수가 다름
반응형
'프로그래밍 관련 > 파이썬' 카테고리의 다른 글
파이썬. 클래스 상속과 생성자에 대하여. 그리고 super에 대하여 (0) | 2021.12.02 |
---|---|
파이썬 클래스. 구조체 (0) | 2021.12.02 |
파이썬 - str 클래스. 문자열 클래스 (0) | 2021.11.13 |
파이썬. 파일 입출력 (0) | 2021.11.05 |
파이썬. 데이터 타입 지정하기. 자료형 지정하기 (0) | 2021.10.31 |