삼성SDS_멀티캠퍼스/Java
10일 차 상속
박성우기
2015. 9. 18. 09:43
반응형
class Car {
public int speed;
public int gear;
public String color;
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public int getGear() {
return gear;
}
public void setGear(int gear) {
this.gear = gear;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
@Override
public String toString() {
return "Car [speed=" + speed + ", gear=" + gear + ", color=" + color + "]";
}
public void speedUp(int increment) {
speed += increment;
}
public void speedDown(int decrement) {
speed -= decrement;
}
}
class SportsCar extends Car {
boolean turbo;
public void setTrubo(boolean newValue) {
turbo = newValue;
}
public void speedUp(int increment) {
if (turbo) {
speed += (2 * increment);
} else
speed += increment;
}
@Override
public String toString() {
return "속도 : " + speed + "\n터보여부 : " + turbo;
}
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
SportsCar c = new SportsCar();
c.color = "Red";
c.speed = 50;
c.setGear(3);
c.speedUp(20);
System.out.println(c);
c.setTrubo(true);
c.speedUp(20); // 터보가 켜져서 20의 2배인 40이 적용되었다
System.out.println(c);
}
}
SportsCar는 Car class를 상속받고
SportsCar만의 터보 변수를 추가하였다
그리고 터보가 true상태면 입력받은 속도의 2배가 적용되도록 하였다.
반응형