Python 기초

왜 상속을 사용하는가?

우리는 왜 상속을 사용할까요? 상속을 사용하는 이유를 잠시 생각하여 봅시다.

 

1. 상속의 아이디어는 간단하지만 아주 강력합니다. 만약 우리가 새로운 클래스를 생성해야 된다고 가정합시다.

     우리가 원하는 코드를 일부라도 담은 클래스가 시장에 있다면 우리는 이 클래스를 상속받아서 새로운 클래스를 정의하면 됩니다.

     이렇게 함으로서 우리는 직접 작성할 필요 없이 이미 존재하는 클래스의 인스턴스 변수와 메소드를 재사용할 수 있습니다.

2. 상속을 사용하면 중복되는 코드를 줄일 수 있습니다. 예를 들어서 승용차, 트럭, 버스는 모두 속도를 변경하고 방향을 바꾸는 기능을 가지고 있습니다.

     이들은 속도 변경 메소드 setSpeed() 와 방향 변경 메소드 turn() 으로 구현될 것이고, 이들 클래스를 독립적으로 작성하게 되면 setSpeed()와 turn()은 모든 클래스에 중복해서 포함될 것입니다.

 

 

만약 Car, Truck, Bus 클래스에 공통적인 특징을 새로운 클래스 Vehicle로 만들고 Vehicle을 상속받아서 각 클래스에 작성한다면 다음 그림과 같이 중복되는 부분을 최소화할 수 있습니다.

 

이제 공통 부분은 하나로 정리되어서 관리하기 쉽고 유지 보수와 변경도 쉬워집니다.

메소드 뿐만 아니라 인스턴스 변수에 대해서도 마찬가지입니다. 중복되는 인스턴스 변수는 한번만 기술하면 됩니다.