본문 바로가기
솔루션모음/파워자바 중간점검 Exercise Lab

[파워자바] 11장 중간점검문제 Exercise Lab Exercise 솔루션 답지

by 이얏호이야호 2023. 9. 16.

중간점검문제

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;

}

 

Lab

 

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, "경제");

 

}

}

Exercise

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사자입니다.

 

 

댓글