Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python은 다형성을 지원합니까?


,Python은 다형성을 지원합니다.

다형성이라는 단어는 많은 형태를 갖는다는 의미입니다.

다형성 클래스 또는 하위 클래스에 걸쳐 공통적으로 명명된 메서드가 있을 때 활용되는 Python 클래스 정의의 중요한 기능입니다.

다형성은 상속을 통해 수행할 수 있으며 하위 클래스는 기본 클래스 메서드를 사용하거나 재정의합니다.

다형성에는 두 가지 유형이 있습니다.

  • 과부하
  • 재정의

과부하 :한 클래스의 두 개 이상의 메소드가 메소드 이름은 같지만 매개변수가 다른 경우 오버로딩이 발생합니다.

재정의 :재정의는 동일한 메소드 이름과 매개변수(즉, 메소드 서명)를 갖는 두 개의 메소드를 갖는 것을 의미합니다. 메소드 중 하나는 상위 클래스에 있고 다른 하나는 하위 클래스에 있습니다.

class Fish():
   def swim(self):
      print("The Fish is swimming.")

   def swim_backwards(self):
      print("The Fish can swim backwards, but can sink backwards.")

   def skeleton(self):
      print("The fish's skeleton is made of cartilage.")

class Clownfish():
   def swim(self):
      print("The clownfish is swimming.")

   def swim_backwards(self):
      print("The clownfish can swim backwards.")

   def skeleton(self):
      print("The clownfish's skeleton is made of bone.")

a = Fish()
a.skeleton()
b = Clownfish()
b.skeleton()

python polymorphism.py 명령으로 프로그램을 실행하면 예상되는 출력이 나옵니다.

출력

The fish's skeleton is made of cartilage.
The clownfish's skeleton is made of bone.