목차
1. 10장 내용점검
2. 10장 프로그래밍 연습
2. 10장 프로그래밍 연습
본문내용
ystem.out.println("I am SuperOne.");
}
}
class SubOne extends SuperOne {
int a;
public SubOne() {
super();
a = 20;
}
public void print() {
System.out.println("I am SubOne.");
}
public int getSuperA(} {
return super.a;
}
public void doSuperPrint() {
super.print();
}
public static void main(String args[]) {
SubOne sub = new SubOne();
System.out.println("sub.a = " + sub.a);
Sub.print();
System.out.println("((SuperOne.sub).a) = " + ((SuperOne.sub).a );
((SuperOne)sub).print();
sub.doSuperPrint();
}
}
- public void print() 메소드
10. 위에서 클래스 SubOne을 실행하면 출력은 무엇인가?
11. 메소드 특성 final은 무엇을 의미하는가?
- 더 이상 그 메소드를 재정의할 수 없다는 특징을 기술하는 키워드이다.
프로그래밍 연습
1. 직원은 정규직과 임시직으로 구분할 수 있다. 이러한 경우 월급을 계산하는 방법이 다를
것이다. 정규직과 임시직의 월급 산정 방법을 결정하여 그에 해당하는 메소드를 만들어
메소드 오버라이딩의 예제 프로그램을 작성하시오.
public class employee {
private double x, y;
public employee(double x, double y) {
setX(x);
setY(y);
}
public void draw() {
System.out.println("\t월급: " + this.getX() + "만원, 각종 수당: "
+ this.getY() + "만원");
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
}
public class occupation extends employee {
private double money;
public occupation() {
super(300,150);
}
public occupation(double x, double y) {
super(x,y);
this.setMoney(money);
}
public occupation(double x, double y, double money) {
super(x,y);
this.setMoney(money);
}
public occupation(double money) {
super(300,150);
this.setMoney(money);
}
public void draw() {
System.out.println("이 사람은 정규직입니다.");
super.draw();
System.out.println("\t월급: " + getMoney() + "만원\n");
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
public class temporary extends employee {
private double money;
public temporary() {
super(200,100);
}
public temporary(double x, double y) {
super(x,y);
this.setMoney(money);
}
public temporary(double x, double y, double money) {
super(x,y);
this.setMoney(money);
}
public temporary(double money) {
super(200,100);
this.setMoney(money);
}
public void draw() {
System.out.println("이 사람은 임시직입니다.");
super.draw();
System.out.println("\t월급: " + getMoney() + "만원\n");
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
public class no1 {
public static void main(String[] args) {
employee s1 = new occupation(300,150,450);
employee s2 = new temporary(200,100,300);
s1.draw();
s2.draw();
}
}
2. 메소드 printline()은 인자로 여러 자료 유형의 형식 매개변수 1개를 받아 한 행에
출력하는 매소드이다. 메소드 printline()을 구현하여 이를 이용하는 프로그램을 작성
하시오.
public class printline {
public void printline() {
System.out.println();
}
public void printline(int x) {
System.out.println(x);
}
public void printline(double x) {
System.out.println(x);
}
public void printline(String x) {
System.out.println(x);
}
}
public class no2 {
public static void main(String[] args) {
printline print = new printline();
print.printline();
print.printline(3);
print.printline(0.5);
print.printline("여러참조유형");
}
}
}
}
class SubOne extends SuperOne {
int a;
public SubOne() {
super();
a = 20;
}
public void print() {
System.out.println("I am SubOne.");
}
public int getSuperA(} {
return super.a;
}
public void doSuperPrint() {
super.print();
}
public static void main(String args[]) {
SubOne sub = new SubOne();
System.out.println("sub.a = " + sub.a);
Sub.print();
System.out.println("((SuperOne.sub).a) = " + ((SuperOne.sub).a );
((SuperOne)sub).print();
sub.doSuperPrint();
}
}
- public void print() 메소드
10. 위에서 클래스 SubOne을 실행하면 출력은 무엇인가?
11. 메소드 특성 final은 무엇을 의미하는가?
- 더 이상 그 메소드를 재정의할 수 없다는 특징을 기술하는 키워드이다.
프로그래밍 연습
1. 직원은 정규직과 임시직으로 구분할 수 있다. 이러한 경우 월급을 계산하는 방법이 다를
것이다. 정규직과 임시직의 월급 산정 방법을 결정하여 그에 해당하는 메소드를 만들어
메소드 오버라이딩의 예제 프로그램을 작성하시오.
public class employee {
private double x, y;
public employee(double x, double y) {
setX(x);
setY(y);
}
public void draw() {
System.out.println("\t월급: " + this.getX() + "만원, 각종 수당: "
+ this.getY() + "만원");
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
}
public class occupation extends employee {
private double money;
public occupation() {
super(300,150);
}
public occupation(double x, double y) {
super(x,y);
this.setMoney(money);
}
public occupation(double x, double y, double money) {
super(x,y);
this.setMoney(money);
}
public occupation(double money) {
super(300,150);
this.setMoney(money);
}
public void draw() {
System.out.println("이 사람은 정규직입니다.");
super.draw();
System.out.println("\t월급: " + getMoney() + "만원\n");
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
public class temporary extends employee {
private double money;
public temporary() {
super(200,100);
}
public temporary(double x, double y) {
super(x,y);
this.setMoney(money);
}
public temporary(double x, double y, double money) {
super(x,y);
this.setMoney(money);
}
public temporary(double money) {
super(200,100);
this.setMoney(money);
}
public void draw() {
System.out.println("이 사람은 임시직입니다.");
super.draw();
System.out.println("\t월급: " + getMoney() + "만원\n");
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
public class no1 {
public static void main(String[] args) {
employee s1 = new occupation(300,150,450);
employee s2 = new temporary(200,100,300);
s1.draw();
s2.draw();
}
}
2. 메소드 printline()은 인자로 여러 자료 유형의 형식 매개변수 1개를 받아 한 행에
출력하는 매소드이다. 메소드 printline()을 구현하여 이를 이용하는 프로그램을 작성
하시오.
public class printline {
public void printline() {
System.out.println();
}
public void printline(int x) {
System.out.println(x);
}
public void printline(double x) {
System.out.println(x);
}
public void printline(String x) {
System.out.println(x);
}
}
public class no2 {
public static void main(String[] args) {
printline print = new printline();
print.printline();
print.printline(3);
print.printline(0.5);
print.printline("여러참조유형");
}
}