반응형
[쉽게 배우는 자바 프로그래밍]
Chapter 06. 상속
프로그래밍 문제
2. 다음 표와 실행 결과를 참고해서 답하시오. show() 메서드는 객체의 정보를 문자열로 반환한다.
Person | Student | ForeignStudent | |
필드 | 이름, 나이 | 학번 | 국적 |
메소드 | 접근자와 생성자, show() | ||
생성자 | 모든 필드를 초기화하는 생성자 |
① Person, Person의 자식, Student, Student의 자식, ForeignStudent를 클래스로 작성한다.
② Person 타입 배열이 Person, Student, ForeignStudent 타입의 객체를 1개씩 포함하며, Person 타입 배열 원소를 for-each 문을 사용해 각 원소의 정보를 다음과 같이 출력하도록 테스트 프로그램을 작성하시오.
사람 [ 이름 : 길동이, 나이 : 22 ]
학생 [ 이름 : 황진이, 나이 : 23, 학번 : 100 ]
외국학생 [ 이름 : Amy, 나이 : 30, 학번 : 200, 국적 : U.S.A ]
Person.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
public class Person {
private String name;
private int age;
public Person() {
name = "";
age = 0;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
void show() {
System.out.println("사람 [ 이름 : " + name + ", 나이 : " + age + " ]");
}
}
|
Student.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
public class Student extends Person {
private String studentId;
public Student() {
this.studentId = "";
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public void show() {
System.out.print("학생 [ 이름 : " + getName() + ", ");
System.out.print("나이 : " + getAge() + ", ");
System.out.println("학번 : " + studentId + " ]");
}
}
|
ForeignStudent.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
public class ForeignStudent extends Student {
private String nationality;
public ForeignStudent() {
this.nationality = "";
}
public String getNationality() {
return nationality;
}
public void setNationality(String nationality) {
this.nationality = nationality;
}
public void show() {
System.out.print("학생 [ 이름 : " + getName() + ", ");
System.out.print("나이 : " + getAge() + ", ");
System.out.print("학번 : " + getStudentId() + ", ");
System.out.println("국적 : " + nationality + " ]");
}
}
|
PeopleInformationExample.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
public class PeopleInformationExample {
public static void main(String[] args) {
Person person = new Person();
person.setName("길동이");
person.setAge(22);
Student student = new Student();
student.setName("황진이");
student.setAge(23);
student.setStudentId("100");
ForeignStudent foreignStudent = new ForeignStudent();
foreignStudent.setName("Amy");
foreignStudent.setAge(30);
foreignStudent.setStudentId("200");
foreignStudent.setNationality("U.S.A");
Person[] people = { person, student, foreignStudent };
for (int i = 0; i < people.length; i++) {
people[i].show();
}
System.out.println("\n\n");
for (Person p : people) {
p.show();
}
}
}
|
반응형
'JAVA 자바 > [쉽게 배우는 자바 프로그래밍] _프로그래밍 문제' 카테고리의 다른 글
Chapter 06. 상속 _ 프로그래밍 04 (0) | 2019.10.22 |
---|---|
Chapter 06. 상속 _ 프로그래밍 03 (0) | 2019.10.21 |
Chapter 06. 상속 _ 프로그래밍 01 (0) | 2019.10.20 |
Chapter 05. 문자열, 배열, 디버깅 _ 프로그래밍 07 (0) | 2018.12.25 |
Chapter 05. 문자열, 배열, 디버깅 _ 프로그래밍 06 (0) | 2018.12.25 |