객체 지향 프로그래밍의 상속
상속은 객체 지향 프로그래밍 (OOP)의 기본 개념으로 기존 클래스 (부모 클래스 또는 슈퍼 클래스)를 기반으로 새 클래스 (하위 클래스 또는 하위 클래스)를 만들 수 있습니다. 코드 재사용 성을 촉진하고 계층 적 방식으로 코드를 구성하는 데 도움이됩니다.
상속의 이점 :
* 코드 재사용 성 : 학부모 클래스의 속성 및 메소드를 상속하여 반복적 인 코드를 피합니다.
* 유지 관리 : 학부모 수업에 대한 변경 사항은 자식 수업에 자동으로 반영되어 유지 보수를 단순화합니다.
* 확장 성 : 아동 수업은 부모 클래스의 핵심 기능을 유지하면서 새로운 기능과 기능을 추가 할 수 있습니다.
* 다형성 : 아동 클래스는 상위 클래스에서 상속 된 메소드를 무시할 수있어 동일한 방법에 대해 다른 동작을 허용합니다.
상속 유형 :
1. 단일 상속 : 어린이 수업은 한 부모 수업에서만 상속됩니다. 이것은 가장 간단한 형태의 상속입니다.
```Python
수업 동물 :
def __init __ (자기, 이름) :
self.name =이름
def speak (self) :
인쇄 ( "일반 동물 사운드")
클래스 개 (동물) :
def speak (self) :
인쇄 ( "우프!")
개 =개 ( "버디")
dog.speak () # 출력 :우프!
```
2. 다단계 상속 : 자식 수업은 부모 수업에서 상속되어 다른 부모 수업에서 물려받습니다.
```Python
수업 동물 :
def __init __ (자기, 이름) :
self.name =이름
def speak (self) :
인쇄 ( "일반 동물 사운드")
클래스 포유류 (동물) :
def __init __ (자기, 이름, fur_color) :
super () .__ init __ (이름)
self.fur_color =fur_color
def speak (self) :
인쇄 ( "포유류 사운드")
클래스 개 (포유류) :
def speak (self) :
인쇄 ( "우프!")
개 =개 ( "버디", "브라운")
dog.speak () # 출력 :우프!
```
3. 계층 적 상속 : 여러 자식 수업은 동일한 부모 수업에서 상속됩니다.
```Python
수업 동물 :
def __init __ (자기, 이름) :
self.name =이름
def speak (self) :
인쇄 ( "일반 동물 사운드")
클래스 고양이 (동물) :
def speak (self) :
print ( "Meow!")
클래스 개 (동물) :
def speak (self) :
인쇄 ( "우프!")
고양이 =고양이 ( "수염")
개 =개 ( "버디")
cat.speak () # 출력 :Meow!
dog.speak () # 출력 :우프!
```
4. 다중 상속 : 어린이 수업은 여러 학부모 수업에서 상속됩니다.
```Python
클래스 전단지 :
def fly (self) :
인쇄 ( "플라잉 ...")
클래스 수영 선수 :
def swim (self) :
인쇄 ( "수영 ...")
클래스 오리 (전단지, 수영 선수) :
def quack (self) :
print ( "quack!")
오리 =오리 ()
Duck.fly () # 출력 :비행 ...
Duck.Swim () # 출력 :수영 ...
Duck.quack () # 출력 :Quack!
```
5. 하이브리드 상속 : 여러 상속 유형의 조합.
```Python
수업 동물 :
def __init __ (자기, 이름) :
self.name =이름
클래스 전단지 :
def fly (self) :
인쇄 ( "플라잉 ...")
클래스 조류 (동물, 전단지) :
def speak (self) :
인쇄 ( "트윗!")
Bird =Bird ( "tweety")
bird.fly () # 출력 :비행 ...
bird.speak () # 출력 :트윗!
```
기억해야 할 핵심 사항 :
* 상속은 코드 조직 및 재사용을위한 강력한 도구입니다.
* 수업과 원하는 행동 사이의 관계를 고려하여 상속을 전략적으로 사용하는 것이 중요합니다.
* 오버 딩 방법을 사용하면 아동 클래스가 상속 된 방법에 대한 특수 행동을 제공 할 수 있습니다.
이 예는 파이썬에서 다른 유형의 상속을 보여줍니다. 그러나 개념은 자체 구문 및 규칙으로 다양한 프로그래밍 언어에 적용됩니다.