두 가지 방법은 동일한 이름을 가질 수 없습니다. . Python의 메서드 오버로딩은 동일한 연산자가 다른 의미를 가질 수 있도록하는 기능입니다. 이 기사에서는 Python의 메서드 오버로딩 기능과이 기능이 어떻게 사용되는지 살펴 보겠습니다.다음 순서로 메서드 오버로드 :
오버로딩이란?
과부하 전달되는 매개 변수에 따라 다른 방식으로 작동하는 함수 또는 연산자의 능력입니다. , 또는 연산자가 작동하는 피연산자입니다.
일부 장점 과부하 사용은 다음과 같습니다.
예제를 통한 Java의 다중 상속
메서드 오버로드는 재사용 성을 촉진합니다. 예를 들어 약간만 다른 여러 메서드를 작성하는 대신 하나의 메서드를 작성하고 오버로드 할 수 있습니다.
또한 오버로딩은 코드 명확성을 향상시키고 복잡성을 제거합니다.
오버로딩은 매우 유용한 개념입니다. 그러나 그것은 많은 단점 그것과 관련된.
오버로딩을 사용하면 혼란을 일으킬 수 있습니다. 경계. 과도하게 사용하면 과부하 된 기능을 관리하기가 번거로워집니다.
Python의 메서드 오버로딩
Python에서는 다른 방식으로 호출 할 수있는 메서드를 만들 수 있습니다. 따라서 0 개, 1 개 이상의 매개 변수가있는 메소드를 가질 수 있습니다. 메서드 정의에 따라 0 개, 하나 이상의 인수로 호출 할 수 있습니다.
단일 메소드 또는 함수가 주어지면 매개 변수 수를 지정할 수 있습니다. 동일한 메서드를 다른 방식으로 호출하는이 프로세스를 메서드 오버로딩이라고합니다.
메서드 오버로딩 예
이제 Python에서 메서드 오버로딩이 무엇인지 알았으니 예를 들어 보겠습니다. 여기서 우리는 안녕하세요() . 이 메소드의 첫 번째 매개 변수는 None으로 설정됩니다. 이렇게하면 매개 변수를 사용하거나 사용하지 않고 호출 할 수있는 옵션이 제공됩니다.
깊은 복사 대 얕은 복사 자바
객체도 클래스를 기반으로 생성되며 0 개와 1 개의 매개 변수를 사용하여 해당 메서드를 호출합니다.
예 1 :
#! / usr / bin / env python class Person : def Hello (self, name = None) : name이 아닌 경우 None : print ( 'Hello'+ name) else : print ( 'Hello') # 인스턴스 생성 obj = Person () # obj.Hello () 메소드 호출 # obj.Hello ( 'Edureka') 매개 변수를 사용하여 메소드 호출
산출:
안녕하세요 안녕하세요 Edureka
메서드 오버로딩을 명확히하기 위해 이제 두 가지 방법으로 Hello () 메서드를 호출 할 수 있습니다.
obj.Hello () obj.Hello ( '에듀 레카')
위의 예에서는 허용하도록 정의 된 것보다 적은 인수로 호출 할 수있는 메서드를 만들었습니다. 또한 2 개로 제한되지 않습니다. 변수 당신의 방법은 선택적인 더 많은 변수를 가질 수 있습니다.
이제 또 다른 예 메서드 오버로딩을 이해하려면 .
스프링 프레임 워크는 무엇입니까
예 2 :
다음 예제에서는 area 메서드를 오버로드합니다. 인수가 없으면 0을 반환합니다. 그리고 하나의 인수가 있으면 값의 제곱을 반환하고 제곱의 면적을 계산한다고 가정합니다. 또한 두 개의 인수가 있으면 두 값의 곱을 반환하고 직사각형의 면적을 계산한다고 가정합니다.
# class class Compute : # area method def area (self, x = None, y = None) : if x! = None and y! = None : return x * y elif x! = None : return x * x else : return 0 # object obj = Compute () # 인수 0 개 print ( 'Area Value :', obj.area ()) # 인수 1 개 print ( 'Area Value :', obj.area (4)) # 인수 2 개 print ( 'Area 값 : ', obj.area (3, 5))
위의 코드는 다음을 제공합니다. 산출:
면적 값 : 0 면적 값 : 16 면적 값 : 15
이것으로 우리는 우리 기사의 끝까지 왔습니다. 파이썬에서 메서드 오버로딩이 무엇이며 어떻게 작동하는지 이해하기를 바랍니다.
다양한 응용 프로그램과 함께 파이썬에 대한 심층적 인 지식을 얻으려면 라이브에 등록 할 수 있습니다. 24/7 지원 및 평생 액세스를 제공하는 Edureka
질문이 있으십니까? 이 'Python의 메서드 오버로딩'블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.