Java 상속 - 시작하기

상속을 배우기 전 전기차 인스턴스를 만들어보는 시간을 가져보도록 한다.
먼저 패키지와 클래스를 생성한다.

src
└Student (+)
    └ex1 (+)
        ├ElectricCar.java (+)
        └GasCar.java (+)

자동차 객체 클래스를 만들어주도록 한다.

ElectricCar.java

package Student.ex1;

public class ElectricCar {

    public void move() {
        System.out.println("차 이동하기~");
    }

    public void charge() {
        System.out.println("차 충전하기~");
    }
}

GasCar.java

package Student.ex1;

public class GasCar {

    public void move() {
        System.out.println("차 이동하기~");
    }

    public void fillUp() {
        System.out.println("기름 주유하기~");
    }
}

CarMain.java

package Student.ex1;

public class CarMain {

    public static void main(String[] args) {
        System.out.println("*==전기차==*");
        ElectricCar electricCar = new ElectricCar();
        electricCar.move();
        electricCar.charge();

        System.out.println("*==가솔린차==*");
        GasCar gasCar = new GasCar();
        gasCar.move();
        gasCar.fillUp();
    }
}

실행 결과

*==전기차==*
차 이동하기~
차 충전하기~
*==가솔린차==*
차 이동하기~
기름 주유하기~

전기차(ElectricCar)와 함께 가솔린차(GasCar) 클래스를 작성하였다. 자동차는 이동(move()) 공통된 기능이 있고, 동력를 만들어주는 주유(fillUp()), 충전(charge()) 가 전기차와 가솔린차의 차이가 있다.

전기차와 가솔린차는 구체적인 개념이고, 자동차(Car)는 추상적인 개념이다. 전기차 가솔린차 둘의 공통 기능인 이동(move()) 기능을 갖고 있다.
주유하는 방식이 다를 뿐 이동하는 것은 자동차의 공통된 특징이 있으니 효과적인 자동차 상속 관계를 만들 수 있다.