# Language/Java

명품 JAVA 프로그래밍 5장 5번

명품 자바 Programming 
Chapter5 Ex5

Q :



추상 클래스의 서브 클래스 만들기에 필요한 추상 메소드 오버라이딩과 super()의 사용에 관한 문제이다. 다음과 같은 MyPoint 추상 클래스가 있다. 
MyPoint를 상속받는 MyColorPoint 클래스를 작성하라. MyColorPoint의 생성자는 MyColorPoint(int x, int y, String color)로 하라. 그리고 다음과 같은 main() 메소드를 삽입하여 실행되도록 하라.








Solution







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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package chap5ex;
abstract class MyPoint{
    int x;
    int y;
    public MyPoint(int x, int y){
        this.x = x; this.y = y;
    }
    protected abstract void move(int x, int y);
    protected abstract void reverse();
    protected void show(){
        System.out.println(x + "," + y);
        
    }
}
 
class MyColorPoint extends MyPoint{
    String color;
    MyColorPoint(int x, int y, String color){
        super(x,y);
        this.color = color;
    }
    protected void move(int x, int y){
        this.x = x;
        this.y = y;
    }
    protected void reverse(){
        int temp;
        temp = x;
        x = y;
        y = temp;
    }
    protected void show(){
        System.out.println(x + "," + y + "," +color);
    }
    
}
 
public class Ex5 {
 
    public static void main(String[] args) {
        MyPoint p = new MyColorPoint(23"blue");
        p.move(3,4);
        p.reverse();
        p.show();
 
    }
 
}
 
cs









Key Point






자식 클래스에서 생성자로 객체가 생성될 때 super()를 통해 멤버를 부모 클래스에 전달해

초기화한다.








유용하셨다면 공감 버튼 ↓ 눌러주세요! 


728x90