반응형
[쉽게 배우는 자바 프로그래밍]
Chapter 06. 상속
프로그래밍 문제
6. 운송 수단과 운송 수단의 하나인 자동차를 다음과 같이 모델링하려고 한다. 각 클래스의 show() 메서드는 필드값을 출력한다. 두 클래스를 작성하고 아래 테스트 프로그램 OverrideTest를 실행해서 오버라이딩된 메서드와 다형성 관계를 살펴보시오.
Vehicle | Car | |
필드 | String color; // 자동차 색상 | int displacement; // 자동차 배기량 |
메서드 | void show() | void show() |
생성자 | public Vehicle(String, int) | public Car(String, int, int, int) |
1
2
3
4
5
6
7
8
9
10
|
public class OverrideTest {
public static void main(String[] args) {
Car c = new Car("파랑", 200, 1000, 5);
c.show();
System.out.println();
Vehicle v = c;
v.show();
}
}
|
[ Vehicle.java ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public class Vehicle { String color; int speed; public Vehicle(String color, int speed) { this.color = color; this.speed = speed; } public void show() { System.out.println("color : " + color); System.out.println("speed : " + speed); } } |
[ Car.java ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public class Car extends Vehicle { private int displacement; private int gears; public Car(String color, int speed, int displacement, int gears) { super(color, speed); this.displacement = displacement; this.gears = gears; } public void show() { System.out.println("color : " + color); System.out.println("speed : " + speed); /**/ System.out.println("displacement : " + displacement); System.out.println("gears : " + gears); } } |
[ OverrideTest.java ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class OverrideTest { public static void main(String[] args) { Car car = new Car("파랑", 200, 1000, 5); car.show(); System.out.println(); Vehicle vehicle = car; vehicle.show(); } } |
반응형
'JAVA 자바 > [쉽게 배우는 자바 프로그래밍] _프로그래밍 문제' 카테고리의 다른 글
Chapter 07. 추상 클래스와 인터페이스 _ 프로그래밍 02 (0) | 2019.10.26 |
---|---|
Chapter 07. 추상 클래스와 인터페이스 _ 프로그래밍 01 (0) | 2019.10.26 |
Chapter 06. 상속 _ 프로그래밍 05 (0) | 2019.10.22 |
Chapter 06. 상속 _ 프로그래밍 04 (0) | 2019.10.22 |
Chapter 06. 상속 _ 프로그래밍 03 (0) | 2019.10.21 |