Python의 메서드 오버로딩이란 무엇이며 어떻게 작동합니까?



이 기사에서는 파이썬에서 메서드 오버로딩이 무엇이며 어떻게 작동하는지 설명합니다. 방법을 자세히 설명하는 두 가지 예가 있습니다.

두 가지 방법은 동일한 이름을 가질 수 없습니다. . 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의 메서드 오버로딩'블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.