class Add {
private int num;
private int num2;
private static int add;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public static int getAdd() {
return add;
}
public static void setAdd(int add) {
Add.add = add;
}
@Override
public String toString() {
return "Add [num=" + num + ", num2=" + num2 + "]";
}
public Add() {
this.num = 5;
this.num2 = 2;
}
public Add(int i, int j) {
this.num = i;
this.num2 = j;
}
public static Add add(Add cpp, Add cpp2, String val) {
int resultnum = 0;
int resultnum2 = 0;
if ("+".equals(val)) {
resultnum = cpp.num + cpp2.getNum();
resultnum2 = cpp.num2 + cpp2.getNum2();
} else if ("-".equals(val)) {
resultnum = cpp.num - cpp2.getNum();
resultnum2 = cpp.num2 - cpp2.getNum2();
} else if ("*".equals(val)) {
resultnum = cpp.num * cpp2.getNum();
resultnum2 = cpp.num2 * cpp2.getNum2();
} else if ("/".equals(val)) {
resultnum = cpp.num / cpp2.getNum();
resultnum2 = cpp.num2 / cpp2.getNum2();
}
return new Add(resultnum, resultnum2);
}
}
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
String val = null;
int input_num = 0, input_num2 = 0;
System.out.println("+,-,*,/ 중 하나를 입력하세요");
val = scan.nextLine();
System.out.println("5,2와 연산을 할 숫자를 두개 입력하세요");
input_num = scan.nextInt();
input_num2 = scan.nextInt();
Add ad = new Add();
Add ad2 = new Add(input_num, input_num2);
Add ad3 = Add.add(ad, ad2, val);
switch (val) {
case "+":
System.out.println(ad3);
break;
case "-":
System.out.println(ad3);
break;
case "*":
System.out.println(ad3);
break;
case "/":
System.out.println(ad3);
break;
default:
System.out.println("잘못된 입력입니다");
break;
}
}
}


static add가 public일 때에는 타클래스에서 접근이 가능하기 때문에
이렇게 할 수 있다
-----------------------------------------------------------------------------------------
class Add2 {
private int num;
private int num2;
private static int add;
static int resultnum = 0;
static int resultnum2 = 0;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public static int getAdd() {
return add;
}
public static void setAdd(int add) {
Add2.add = add;
}
@Override
public String toString() {
return "Add [num=" + num + ", num2=" + num2 + "]";
}
public Add2() {
this.num = 5;
this.num2 = 2;
}
public Add2(int i, int j) {
this.num = i;
this.num2 = j;
}
private static Add2 add(Add2 cpp, Add2 cpp2, String val) {
resultnum = 0;
resultnum2 = 0;
if ("+".equals(val)) {
resultnum = cpp.num + cpp2.getNum();
resultnum2 = cpp.num2 + cpp2.getNum2();
} else if ("-".equals(val)) {
resultnum = cpp.num - cpp2.getNum();
resultnum2 = cpp.num2 - cpp2.getNum2();
} else if ("*".equals(val)) {
resultnum = cpp.num * cpp2.getNum();
resultnum2 = cpp.num2 * cpp2.getNum2();
} else if ("/".equals(val)) {
resultnum = cpp.num / cpp2.getNum();
resultnum2 = cpp.num2 / cpp2.getNum2();
}
return new Add2(resultnum, resultnum2);
}
public Add2 getsetgiAd2(Add2 cpp, Add2 cpp2, String val) {
return Add2.add(cpp, cpp2, val);
}
}
import java.util.Scanner;
public class Test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
String val = null;
int input_num = 0, input_num2 = 0;
System.out.println("+,-,*,/ 중 하나를 입력하세요");
val = scan.nextLine();
System.out.println("5,2와 연산을 할 숫자를 두개 입력하세요");
input_num = scan.nextInt();
input_num2 = scan.nextInt();
Add2 ad = new Add2();
Add2 ad2 = new Add2(input_num, input_num2);
Add2 ad3=new Add2();
ad3=ad2.getsetgiAd2(ad, ad2, val);
switch (val) {
case "+":
System.out.println(ad3);
break;
case "-":
System.out.println(ad3);
break;
case "*":
System.out.println(ad3);
break;
case "/":
System.out.println(ad3);
break;
default:
System.out.println("잘못된 입력입니다");
break;
}
}
}
static add가 private일 때에는 타클래스에서 접근이 불가능하기 때문에
getter에서 리턴값을 반환 후에 접근을 해야한다