객체지향적인 프로그래밍에서는 상속이 매우 중요한 개념이다.


상속은 기본적으로 자식이 부모 클래스를 상속한다는 개념으로, 


부모클래스(Super Class)의 메소드와 인스턴스 변수를 자식클래스(Sub Class)가 모두 사용할 수 있다.


그러나, 자식클래스가 부모클래스의 메소드나 인스턴스 변수를 지울 수 없다.


인스턴스 변수는 추가만 가능하며,


메소드는 추가 또는 재정의가 가능하다.


그렇기 떄문에, 자식클래스를 사용하기 위한 필요성을 먼저 검토 해봐야 한다.


1. 클래스에 새 메소드나 인스턴스 변수를 추가해 기능을 확장하는 경우


2. 클래스의 특화된 버전을 만드는 경우


3. 하나 이상의 메소드를 재정의해 클래스의 기본 동작을 변경하려는 경우


위와 같이 3가지 경우에 따라 자식클래스로 상속받아 클래스를 확장해야 사용하면 된다.