Skip to content

Commit b4f3cfa

Browse files
committed
feat: 입출력 인터페이스 구현
1 parent cb89c54 commit b4f3cfa

5 files changed

Lines changed: 74 additions & 2 deletions

File tree

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,29 @@
11
package com.wonu606;
22

3+
import com.wonu606.app.App;
4+
import com.wonu606.calculator.CalculatorApp;
5+
import com.wonu606.io.Input;
6+
import com.wonu606.io.Print;
7+
import java.io.IOException;
8+
39
public class Main {
410

511
public static void main(String[] args) {
6-
System.out.println("Hello world!");
12+
Input input;
13+
Print printer;
14+
15+
CalculatorApp app = new CalculatorApp();
16+
try {
17+
runApp(app, input, printer);
18+
} catch (Exception exception) {
19+
printer.print(exception.getMessage());
20+
} finally {
21+
input.tearDown();
22+
printer.tearDown();
23+
}
24+
}
25+
26+
private static void runApp(App app, Input input, Print printer) throws IOException {
27+
app.execute(input, printer);
728
}
8-
}
29+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.wonu606.app;
2+
3+
import com.wonu606.io.Input;
4+
import com.wonu606.io.Print;
5+
import java.io.IOException;
6+
7+
public interface App {
8+
9+
void execute(Input input, Print printer) throws IOException;
10+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.wonu606.calculator;
2+
3+
import com.wonu606.app.App;
4+
import com.wonu606.io.Input;
5+
import com.wonu606.io.Print;
6+
import java.io.IOException;
7+
8+
public class CalculatorApp implements App {
9+
10+
Input input;
11+
Print printer;
12+
13+
public void execute(Input input, Print printer) throws IOException {
14+
this.input = input;
15+
this.printer = printer;
16+
17+
while (true) {
18+
String selection = input.getInput();
19+
}
20+
}
21+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.wonu606.io;
2+
3+
import java.io.IOException;
4+
5+
public interface Input {
6+
7+
String getInput() throws IOException;
8+
9+
void tearDown();
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.wonu606.io;
2+
3+
public interface Print {
4+
5+
void print(String message);
6+
7+
void print(int number);
8+
9+
void tearDown();
10+
}

0 commit comments

Comments
 (0)