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