TIL
01/08(์) ๋ด์ผ๋ฐฐ์์บ ํ Java 11์ผ์ฐจ TIL - ๊ณ์ฐ๊ธฐ๋ง๋ค๊ธฐ
๊ฐ์๊ฐ๋ฐ๊พผ
2024. 1. 8. 20:42
๐ ์ค๋์ ํ์ต ํค์๋
- ๊ณ์ฐ๊ธฐ
๐ฅ Step 1
Calculator Class ๋ง๋ค๊ธฐ
public class Calculator {
public double calculate(String operator, int firstNumber, int secondNumber) {
double answer = 0;
if(operator.equals("+")){
answer = firstNumber + secondNumber;
}else if(operator.equals("-")){
answer = firstNumber - secondNumber;
}else if(operator.equals("*")){
answer = firstNumber * secondNumber;
}else if(operator.equals("/")){
answer = firstNumber / secondNumber;
}
return answer;
}
}
Main Class ๋ง๋ค๊ธฐ
public class Main {
public static void main(String[] args) {
Calculator calculator = new Calculator();
System.out.println(calculator.calculate("+", 10, 20));
System.out.println(calculator.calculate("*", 10, 20));
}
}
๐ฅ Step 2
- ์ฌ๋ฌ ํด๋์ค๋ก ๋๋๊ธฐ
Calculator
public class Calculator {
private AbstractOperation operation;
public Calculator(AbstractOperation operation) {
this.operation = operation;
}
public void setOperation(AbstractOperation operation) {
this.operation = operation;
}
public double calculate(int firstNumber, int secondNumber) {
double answer = 0;
answer = operation.operate(firstNumber, secondNumber);
return answer;
}
}
AbstractOperation
public abstract class AbstractOperation {
public abstract double operate(int firstNumber, int secondNumber);
}
AddOperation
public class AddOperation extends AbstractOperation{
@Override
public double operate(int firstNumber, int secondNumber){
return firstNumber + secondNumber;
}
}
SubstractOperation
public class SubstractOperation extends AbstractOperation{
@Override
public double operate(int firstNumber, int secondNumber){
return firstNumber - secondNumber;
}
}
MultiplyOperation
public class MultiplyOperation extends AbstractOperation{
@Override
public double operate(int firstNumber, int secondNumber){
return firstNumber * secondNumber;
}
}
DivideOperation
public class DivideOperation extends AbstractOperation{
@Override
public double operate(int firstNumber, int secondNumber){
return firstNumber / secondNumber;
}
}
Main
public class Main {
public static void main(String[] args) {
Calculator calculator = new Calculator(new AddOperation());
System.out.println(calculator.calculate(10, 20));
calculator.setOperation(new MultiplyOperation());
System.out.println(calculator.calculate(10,20));
}
}
๐ ์ค๋์ ํ๊ณ
์ค๋์ ํด๋์ค๋ฅผ ํ์ฉํ์ฌ ์ฌ์น์ฐ์ฐ์ด ๊ฐ๋ฅํ
๊ณ์ฐ๊ธฐ๋ฅผ ๋ง๋ค์ด ๋ดค์ต๋๋ค.
ํด๋์ค.. ์ด๋ ต๋ค์
์๋ฐ.. ์ด๋ ต๋ค์