본문으로 건너뛰기
실습하기

객체에 유연성을 부여하는 다형성

다형성(Polymorphism)은 객체 지향 프로그래밍의 핵심 개념 중 하나로, '하나의 메서드나 클래스가 다양한 방식으로 작동하는 능력'을 의미합니다.


다형성 사용 예시

아래는 다형성을 적용한 'Animal' 클래스와 그 서브클래스 'Dog' 및 'Cat'의 예시입니다:

다형성 사용 예시
class Animal:
def speak(self):
return "어떤 소리를 냅니다."

class Dog(Animal): # Animal 클래스를 상속받음
def speak(self): # Animal 클래스의 'speak' 메소드를 재정의
return "멍멍!"

class Cat(Animal): # Animal 클래스를 상속받음
def speak(self): # Animal 클래스의 'speak' 메소드를 재정의
return "야옹!"

# 다형성 사용 예시
animal = Animal()
animal.speak() # '어떤 소리를 냅니다.'

dog = Dog()
dog.speak() # '멍멍!'

cat = Cat()
cat.speak() # '야옹!'

이 예제에서 speak 메소드는 'Animal', 'Dog', 'Cat' 클래스에서 각각 다르게 구현되었습니다.

이렇게 서로 다른 객체들이 'speak'라는 동일한 메소드 호출에 대해 다른 행동을 보이는 것을 다형성이라고 합니다.


다형성의 역할

  • 객체 유연성 증가: 하나의 인터페이스(Interface, 외부와 상호작용하는 규칙)으로 다양한 데이터 타입과 객체를 처리할 수 있습니다.

  • 코드 재사용성: 다형적인 코드는 재사용하기 쉬워 프로그램의 확장성과 유지보수성이 향상됩니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!