Python에서는 여러 방법으로 호출할 수 있는 방식으로 메서드를 정의할 수 있습니다. 함수 정의에 따라 0, 1, 2 또는 그 이상의 매개변수를 사용하여 호출할 수 있습니다. 이것을 메소드 오버로딩이라고 합니다.
주어진 코드에는 sayHello() 메서드가 하나 있는 클래스가 있습니다. 아래와 같이 다시 작성합니다. 이 메서드의 첫 번째 매개변수는 None으로 설정되어 있으며 매개변수를 사용하거나 사용하지 않고 호출할 수 있는 옵션을 제공합니다.
객체는 클래스를 기반으로 생성되며 0개와 1개의 매개변수를 사용하여 해당 메서드를 호출합니다. 메소드 오버로딩을 구현하기 위해 두 가지 방법으로 sayHello() 메소드를 호출합니다. 1. obj.sayHello() 및 2.obj.sayHello('Rambo')
허용하도록 정의된 것보다 적은 수의 인수로 호출할 수 있는 메서드를 만들었습니다. 우리는 두 개의 변수로 제한되지 않습니다. 주어진 메소드에는 선택 사항인 더 많은 변수가 있을 수 있습니다.
예시
class Human: def sayHello(self, name=None): if name is not None: print 'Hello ' + name else: print 'Hello ' obj = Human() print(obj.sayHello()) print(obj.sayHello('Rambo'))
출력
Hello None Hello Rambo None