1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| package Java0322.UserMain.abs02;
/*
* 프린터를 선택하세요(1.LG 2.삼성)=> 1
*
*/
public class UserMain {
public static void main(String[] args) {
Menu menu = new Menu();
menu.choice();
}
}
|
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
| package Java0322.UserMain.abs02;
import java.util.Scanner;
public class Menu {
public int selectMenu() {
Scanner sc = new Scanner(System.in);
System.out.println("LV2프린트를 선택하세요(1.LG 2.삼성 3.HP) => ");
int no = sc.nextInt();
sc.nextLine();
return no;
}
public void choice() {
int type = selectMenu();
print(type);
}
public void print(int no) {
Printer p = null;
switch(no) {
case 1 :
p = new LGPrinter();
break;
case 2 :
p = new SamsungPrinter();
break;
case 3 :
// p = new HPInkjetPrinter();
p = new HPLaserPrinter();
break;
}
if(p != null)
p.print();
else {
System.out.println("잘못 선택하셨습니다.");
}
/*
switch(no) {
case 1 :
LGPrinter lg = new LGPrinter();
lg.print();
break;
case 2 :
SamsungPrinter sam = new SamsungPrinter();
sam.print();
break;
case 3 :
HPPrinter HP = new HPPrinter();
HP.print();
break;
}
*/
}
}
|
1
2
3
4
5
6
7
8
| package Java0322.UserMain.abs02;
public abstract class Printer {
String productName;
public abstract void print();
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| package Java0322.UserMain.abs02;
public class LGPrinter extends Printer{
@Override
public void print() {
System.out.println("LG프린터에서 출력중...");
}
/*
public void lgPrint() {
System.out.println("LG프린터에서 출력중...");
}
*/
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| package Java0322.UserMain.abs02;
public class SamsungPrinter extends Printer{
@Override
public void print() {
System.out.println("삼성프린터에서 출력중...");
}
/*
public void samPrint() {
System.out.println("삼성프린터에서 출력중...");
}
*/
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| package Java0322.UserMain.abs02;
public abstract class HPPrinter extends Printer {
}
class HPLaserPrinter extends HPPrinter {
@Override
public void print() {
System.out.println("HP 레이저프린터에서 출력중...");
}
}
class HPInkjetPrinter extends HPPrinter {
@Override
public void print() {
System.out.println("HP 잉크젯프린터에서 출력중...");
}
}
|