중간점검문제
p.230
1. 컴퓨터가 수퍼클래스, 데스크탑, 노트북, 태블릿이 모두 서브클래스가 된다.
컴퓨터 |
데스크탑 | 노트북 | 태블릿 |
2. 상속은 코드를 재사용하며 코드의 중복을 줄인다.
p.246
1. sleep()과 eat()가 수퍼클래스에서만 정의되므로 코드가 간결해진다.
2.
class Box {
int width, length, height;
public int calVolume()
{
return width*height*height;
}
}
class ColorBox extends Box {
String color;
}
1. 컴퓨터가 수퍼클래스, 데스크탑, 노트북, 태블릿이 모두 서브클래스가 된다.
컴퓨터 |
데스크탑 | 노트북 | 태블릿 |
2. 상속은 코드를 재사용하며 코드의 중복을 줄인다.
p.246
1. sleep()과 eat()가 수퍼클래스에서만 정의되므로 코드가 간결해진다.
2.
class Box {
int width, length, height;
public int calVolume()
{
return width*height*height;
}
}
class ColorBox extends Box {
String color;
}
1. 컴퓨터가 수퍼클래스, 데스크탑, 노트북, 태블릿이 모두 서브클래스가 된다.
컴퓨터 |
데스크탑 | 노트북 | 태블릿 |
2. 상속은 코드를 재사용하며 코드의 중복을 줄인다.
p.246
1. sleep()과 eat()가 수퍼클래스에서만 정의되므로 코드가 간결해진다.
2.
class Box {
int width, length, height;
public int calVolume()
{
return width*height*height;
}
}
class ColorBox extends Box {
String color;
}
import java.util.Scanner;
class Human {
private String name;
private int age;
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;
}
@Override
public String toString() {
return "Human [name=" + name + ", age=" + age + "]";
}
public String getProfession() {
return "unknown";
}
public Human(String name, int age) {
super();
this.name = name;
this.age = age;
}
}
class Student extends Human {
@Override
public String toString() {
return super.toString() + "Student [major=" + major + "]";
}
public String getProfession() {
return "student";
}
String major;
public Student(String name, int age, String major) {
super(name, age);
this.major=major;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
}
public class StudentTest {
public static void main(String args[]) {
Student s1 = new Student("명진", 21, "컴퓨터");
Student s2 = new Student("미현", 22, "경영");
Student s3 = new Student("용준", 24, "경제");
}
}
1.
(1) Student, GraduateStudent
(2)
Student |
-number: int +name : String |
GraduateStudent |
+lab : String |
(3)
class Student {
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private int number;
public String name;
}
public class GraduateStudent extends Student {
public String getLab() {
return lab;
}
public void setLab(String lab) {
this.lab = lab;
}
public String lab;
}
(4)
class Student {
public Student(int number, String name) {
super();
this.number = number;
this.name = name;
}
...
private int number;
public String name;
}
public class GraduateStudent extends Student {
public GraduateStudent(int number, String name, String lab) {
super(number, name);
this.lab = lab;
}
...
public String lab;
}
(5) (1) private 멤버는 접근할 수 없다.
2. (1) methodTwo()
(2) methodFour()
(3) methodOne()과 methodThree()는 컴파일 오류를 발생한다. 인스턴스 메소드를 정적 메소드로 재정의할 수는 없다. 그 반대도 마찬가지이다.
3.
class Bike
{
protected int gear;
public int speed;
}
public class MountainBike extends Bike
{
public int seatHeight;
public MountainBike(int g)
{
super();
gear=g;
}
}
4.
동물입니다:Brave사자입니다.동물입니다:UNKNOWN사자입니다.
1.
(1) Student, GraduateStudent
(2)
Student |
-number: int +name : String |
GraduateStudent |
+lab : String |
(3)
class Student {
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private int number;
public String name;
}
public class GraduateStudent extends Student {
public String getLab() {
return lab;
}
public void setLab(String lab) {
this.lab = lab;
}
public String lab;
}
(4)
class Student {
public Student(int number, String name) {
super();
this.number = number;
this.name = name;
}
...
private int number;
public String name;
}
public class GraduateStudent extends Student {
public GraduateStudent(int number, String name, String lab) {
super(number, name);
this.lab = lab;
}
...
public String lab;
}
(5) (1) private 멤버는 접근할 수 없다.
2. (1) methodTwo()
(2) methodFour()
(3) methodOne()과 methodThree()는 컴파일 오류를 발생한다. 인스턴스 메소드를 정적 메소드로 재정의할 수는 없다. 그 반대도 마찬가지이다.
3.
class Bike
{
protected int gear;
public int speed;
}
public class MountainBike extends Bike
{
public int seatHeight;
public MountainBike(int g)
{
super();
gear=g;
}
}
4.
동물입니다:Brave사자입니다.동물입니다:UNKNOWN사자입니다.
'솔루션모음 > 파워자바 중간점검 Exercise Lab' 카테고리의 다른 글
[파워자바] 13장 중간점검문제 Exercise Lab Exercise 솔루션 답지 (0) | 2023.09.16 |
---|---|
[파워자바] 12장 중간점검문제 Exercise Lab Exercise 솔루션 답지 (0) | 2023.09.16 |
[파워자바] 10장 중간점검문제 Exercise Lab Exercise 솔루션 답지 (0) | 2023.09.16 |
[파워자바] 9장 중간점검문제 Exercise Lab Exercise 솔루션 답지 (0) | 2023.09.15 |
[파워자바] 8장 중간점검문제 Exercise Lab Exercise 솔루션 답지 (0) | 2023.09.13 |
댓글