객체에 유연성을 부여하는 다형성
다형성(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, 외부와 상호작용하는 규칙)으로 다양한 데이터 타입과 객체를 처리할 수 있습니다. -
코드 재사용성
: 다형적인 코드는 재사용하기 쉬워 프로그램의 확장성과 유지보수성이 향상됩니다.
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
실행 결과