11 다음 JAVA로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)
abstract class Vehicle {
String name;
abstract public String getName(String val);
public String getName() {
return "Vehicle name : " + name;
}
}
class Car extends Vehicle {
private String name;
public Car(String val) {
name = super.name = val;
}
public String getName(String val) {
return "Car name : " + val;
}
public String getName(byte[] val) {
return "Car name : " + val;
}
}
public class Test {
public static void main(String[] args) {
Vehicle obj = new Car("Spark");
System.out.print(obj.getName());
}
}
답
더보기
Vehicle name : Spark
해설
코드 | 실행순서 및 해석 | ||
1 | abstract class Vehicle { | 추상클래스 | |
2 |
String name; | name 변수 선언 | |
6 | 부모클래스의 name에 Spark를 넣는다 | ||
3 | abstract public String getName(String val); | 추상메서드 정의 -> getName()을실행하는 코드가 없다 -> 하위 클래스에서 재정의해서 사용하게 됨 |
|
4 | public String getName() { | 8 | 호출 |
5 | return "Vehicle name : " + name; | 9 | Vehicle name 출력 + 2줄의 name에 Spark가 담겨 있기 때문에 Spark 출력 |
6 | } | ||
7 | } | ||
8 | class Car extends Vehicle { | Vehicle 클래스 상속 | |
9 |
private String name; | name 문자열 변수 선언 | |
5 | name에 Spark를 넣는다 | ||
10 |
public Car(String val) { | 클래스 이름과 메서드 이름이 동일한 경우 -> 해당 변수의 개체 변수를 생성할 때 자동으로 실행 -> 생성자 |
|
3 | Car 생성자 호출 Spark를 val라는 문자형 변수로 받는다 |
||
11 | name = super.name = val; | 4 | name: 9줄의 변수 name에 Spark를 넣는다 super.name: 부모클래스의 name에 Spark를 넣는다 |
12 | } | ||
13 | public String getName(String val) { | * | getName() 메서드 안에 인수가 있기 때문에 23줄에서 호출하는 getName()이 될 수 없다 |
14 | return "Car name : " + val; | ||
15 | } | ||
16 | public String getName(byte[] val) { | * | getName() 메서드 안에 인수가 있기 때문에 23줄에서 호출하는 getName()이 될 수 없다 |
17 | return "Car name : " + val; | ||
18 | } | ||
19 | } | ||
20 | public class Test { | ||
21 | public static void main(String[] args) { | 1 | 실행 |
22 | Vehicle obj = new Car("Spark"); | 2 | 객체변수 obj 설정 Car() 메서드의 생성자를 이용하겠다 -> 형 변환 |
23 | System.out.print(obj.getName()); | 7 | obj의 getName() 객체변수 호출 -> getName()의 인수가 없기 때문에 동일한 메서드를 호출해야 한다 |
24 | } | ||
25 | } |
'자격증 > 정보처리기사 실기 - 기출문제' 카테고리의 다른 글
[정보처리기사 실기] 2020년 3회 13 - 테스트 기법 (0) | 2025.07.13 |
---|---|
[정보처리기사 실기] 2020년 3회 12 - 형상 통제 (0) | 2025.07.13 |
[정보처리기사 실기] 2020년 3회 10 - 프로그래밍 [JAVA] (3) | 2025.07.12 |
[정보처리기사 실기] 2020년 3회 09 - SQL (1) | 2025.07.12 |
[정보처리기사 실기] 2020년 3회 08 - 화이트박스 테스트 (1) | 2025.07.12 |