Repository navigation
Expand file tree
/
Copy pathOOPEx09.java
More file actions
126 lines (110 loc) · 2.69 KB
/
Copy pathOOPEx09.java
File metadata and controls
126 lines (110 loc) · 2.69 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package ch05;
interface Movable{
//public abstract 생략되어있음
void 위();
void 아래();
void 왼쪽();
void 오른쪽();
}
interface Movable2{
void 위();
void 아래();
void 왼쪽();
void 오른쪽();
void 땅바닥숨기();
}
abstract class 사나운동물 implements Movable{
abstract void 공격(); //미완성 메서드
@Override
public void 위() {
System.out.println("위로이동 ");
}
@Override
public void 아래() {
System.out.println("아래로 이동");
}
@Override
public void 왼쪽() {
System.out.println("왼쪽으로 이동");
}
@Override
public void 오른쪽() {
System.out.println("오른쪽으로 이동");
}
}
abstract class 온순한동물 implements Movable2{
abstract void 채집(); //미완성 메서드
@Override
public void 위() {
System.out.println("위로 이동");
}
@Override
public void 아래() {
System.out.println("아래로 이동");
}
@Override
public void 땅바닥숨기() {
System.out.println("땅 속으로 이동");
}
@Override
public void 왼쪽() {
System.out.println("왼쪽으로 이동");
}
@Override
public void 오른쪽() {
System.out.println("오른쪽으로 이동");
}
}
class 원숭이 extends 온순한동물 {
@Override //어노테이션 = JVM이 실행시에 분석해서 확인 = JVM의 힌트
void 채집() {
System.out.println("바나나 채집");
}
}
class 소 extends 온순한동물 {
@Override
void 채집() {
System.out.println("풀 채집");
}
}
class 호랑이 extends 사나운동물 {
@Override
void 공격() {
System.out.println("이빨로 공격");
}
}
class 코뿔소 extends 사나운동물{
@Override
void 공격() {
System.out.println("몸통박치기로 공격");
}
}
public class OOPEx09 {
static void 조이스틱(온순한동물 u1){
u1.채집();
u1.땅바닥숨기();
u1.위();
u1.아래();
u1.오른쪽();
u1.왼쪽();
System.out.println("================");
}
static void 조이스틱(사나운동물 u1){
u1.공격();
u1.위();
u1.아래();
u1.오른쪽();
u1.왼쪽();
System.out.println("================");
}
public static void main(String[] args) {
소 u1= new 소();
조이스틱(u1);
원숭이 u2 = new 원숭이();
조이스틱(u2);
호랑이 u3 = new 호랑이();
조이스틱(u3);
코뿔소 u4 = new 코뿔소();
조이스틱(u4);
}
}