Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

Chihiro's Blog

[Python] 8. 상속 - inheritance 본문

프로그래밍 언어/Python

[Python] 8. 상속 - inheritance

ChihiroVega 2019. 5. 6. 19:38

1. 상속(inheritance) 이란?

  • 클래스에서 상속이란, 물려주는 클래스(Parent Class, Super class)의 내용(속성과 메소드)을 물려받는 클래스(Child class, sub class)가 가지게 되는 것.
  • 예를 들면 국가라는 클래스가 있고, 그것을 상속받은 한국, 일본, 중국, 미국 등의 클래스를 만들 수 있으며, 국가라는 클래스의 기본적인 속성으로 인구라는 속성을 만들었다면, 상속 받은 한국, 일본, 중국 등등의 클래스에서 부모 클래스의 속성과 메소드를 사용할 수 있음을 말합니다.
  • 기본적인 사용방법은 아래와 같음.
  • 자식클래스를 선언할때 소괄호로 부모클래스를 포함시킵니다.
  • 그러면 자식클래스에서는 부모클래스의 속성과 메소드는 기재하지 않아도 포함이 됩니다.

부모 클래스

자식 클래스

두 개의 클래스

class A:
A필드

class B(A):
A필드, B필드


Overriding

  • 기존의 클래스에서 선언한 메소드같은 이름으로 자식 클래스에서 재정의 하는 것. 
  • 자식 클래스에 생성자가 없으면, 부모 클래스의 생성자로 판단한다.
  • 자식 클래스에 생성자가 있으면, 부모 클래스의 생성자로 가지 않는다.
  • 자식 클래스에서 부모 생성자를 사용하고 싶을 때 부모 클래스명.__init__(self, 값, 값...)으로 사용한다.