본문 바로가기
programming/Python

파이썬 상속 클래스 종류 부모클래스 자식클래스 python class inheritance

by 개코 - 개발과 코딩 2021. 11. 11.

상속의 개념은 파이썬이 OOP 프로그램이라는 증거이다. 즉, 객체지향언어라는 점이며, 이는 다른 객체지향언어와 같은 개념이기도 하다. 당연히 상속을 주기 위해 기본 뼈대 구조를 가진 부모클래스가 있고, 부모클래스를 상속받아 기능을 세분화하고 속성 등을 상세하게 정의한 자식클래스가 있다.

파이썬 상속 클래스 종류 부모클래스 자식클래스
python class inheritance

모든 OOP 프로그래밍이 그렇듯 파이썬도 상속의 개념이 있다.

상속은 뼈대가 되는 어떤 클래스를 실제로 사용하기 위해 다른 클래스가 받는 것을 말한다.

상속받은 클래스는 상속한 클래스의 기능을 그대로 가지고 온다.

개념이 애매하다.

2가지만 알면 된다.

상속에 필요한 것은 부모클래스와 자식클래스이다.

부모클래스는 상속을 하는 클래스이다.

자식클래스는 상속을 받는 클래스이다.

부모클래스 자식클래스

위에서 언급했듯 OOP 프로그래밍 언어들은 상속의 개념을 가진다.

상속이란 개념이 있다면 따라오는 것이 부모클래스와 자식클래스이다.

부모클래스는 자식클래스에 상속을 한다.

자식클래스는 부모클래스를 상속을 받는다.

이게 난해할 수 있는 부분이다.

자세한 내용은 아래에 부가적으로 설명한다.

게임을 예로 들어보자.

우리가 전략시뮬레이션 게임을 만든다고 정의하자.

병사를 만들것이다.

병사의 종류는 소총수, 저격수, 포격수가 있다.

이들의 공통점은 사람이고 무기를 발사한다는 것이다.

그리고, HP 란 속성과 무기선택이란 속성이 존재한다.

무기를 선택하면 병사의 특기가 바뀐다.

위의 종류에서 공통점은 발견했는가.

  • 부모클래스
    HP 속성이 있고, 무기를 발사하는 동작이 있다.
    HP : 속성 : 클래스 프로퍼티
    무기 : 속성 : 클래스 프로퍼티
    무기발사 : 동작 : 클래스 메서드

자식 클래스는 보다 세밀하고 상세한 내용을 가지고 있을 것이다.

부모클래스의 속성과 메서드를 그대로 전달받고 추가적인 속성들과 메서드만 추가하면 된다.

  • 자식클래스
    HP : 부모상속, 속성 프로퍼티
    무기 : 부모상속, 속성 프로퍼티
    특기 : 소총수 또는 저격수 또는 포격수
    사거리 : 소총수 또는 저격수 또는 포격수
    무기발사 : 부모상속, 동작 메서드

다시 정리해 보도록 하자.

부모클래스는 자식클래스에게 상속을 한다.

자식클래스는 부모클래스에서 상속을 받는다.

상속을 받는 자식클래스는 부모클래스에 있는 모든 속성 프로퍼티와 동작 메서드를 가지고 있다.

클래스가 객체별로 나뉘어지면서 동일한 어떤 것들이 있을 때

동일한 것을 추리면 부모클래스가 되고, 상세한 부분은 자식클래스가 된다고 생각하면 된다.

다른 예시

영수증을 생각해 보자.

영수증의 규격은 같다.

하지만, 조금씩 계산방법이 다르다.

세금이 적용되는 구간도 다르다.

부모클래스는 세금계산서 양식과 물건의 가격 등이 될 수 있다.

자식클래스는 물건에 따른 세금계산법에 따른 부가세 정도가 될 수 있다.

반응형

댓글