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()) 기능을 갖고 있다.
주유하는 방식이 다를 뿐 이동하는 것은 자동차의 공통된 특징이 있으니 효과적인 자동차 상속 관계를 만들 수 있다.