
💡 Java 사칙연산 메서드 구현 예제
Java에서 두 정수(int)를 입력받아 덧셈, 뺄셈, 곱셈, 나눗셈을 수행하는 기본적인 메서드들을 구현하는 예제입니다. 이 예제는 메서드 선언, 매개변수 사용, 그리고 반환(return)의 개념을 이해하는 데 도움이 될 것입니다.
1. 예제 코드
Java
public class ArithmeticOperations {
// 덧셈 메서드
// 두 정수(a, b)를 더한 결과를 반환합니다.
public static int add(int a, int b) {
return a + b;
}
// 뺄셈 메서드
// 두 정수(a에서 b를 뺀) 결과를 반환합니다.
public static int subtract(int a, int b) {
return a - b;
}
// 곱셈 메서드
// 두 정수(a, b)를 곱한 결과를 반환합니다.
public static int multiply(int a, int b) {
return a * b;
}
// 나눗셈 메서드
// 두 정수(a를 b로 나눈) 결과를 반환합니다.
// 정수 나눗셈이므로 소수점 이하는 버려집니다.
// 0으로 나누는 경우를 방지하기 위해 간단한 예외 처리를 추가했습니다.
public static int divide(int a, int b) {
if (b == 0) {
System.out.println("오류: 0으로 나눌 수 없습니다.");
return 0; // 또는 다른 오류 처리 방식을 사용
}
return a / b;
}
public static void main(String[] args) {
int num1 = 10;
int num2 = 5;
// 각 메서드를 호출하고 결과를 출력합니다.
int sum = add(num1, num2);
System.out.println("덧셈 결과: " + num1 + " + " + num2 + " = " + sum); // 15
int difference = subtract(num1, num2);
System.out.println("뺄셈 결과: " + num1 + " - " + num2 + " = " + difference); // 5
int product = multiply(num1, num2);
System.out.println("곱셈 결과: " + num1 + " * " + num2 + " = " + product); // 50
int quotient = divide(num1, num2);
System.out.println("나눗셈 결과: " + num1 + " / " + num2 + " = " + quotient); // 2
// 0으로 나누는 경우 테스트
int divideByZero = divide(10, 0); // 오류 메시지 출력 후 0 반환
System.out.println("0으로 나눈 결과: " + divideByZero);
}
}
2. 코드 설명
- public static int add(int a, int b):
- public: 이 메서드가 어디서든 접근 가능함을 의미합니다.
- static: 객체를 생성하지 않고도 이 메서드를 호출할 수 있게 합니다 (클래스이름.메서드이름() 형태로 사용).
- int: 메서드가 정수(int) 타입의 결과를 반환함을 의미합니다 (반환 타입).
- add: 메서드의 이름입니다.
- (int a, int b): 이 메서드가 호출될 때 두 개의 정수 값을 매개변수(parameter)로 받는다는 것을 의미합니다.
- return a + b;:
- a와 b를 더한 계산 결과를 메서드를 호출한 곳으로 반환합니다.
- divide 메서드의 0 처리:
- divide 메서드에서 if (b == 0)을 사용하여 두 번째 숫자가 0인지 확인합니다. 수학적으로 0으로 나누는 것은 불가능하므로, 실제 연산 전에 오류 메시지를 출력하고 특정 값(여기서는 0)을 반환하여 프로그램이 비정상적으로 종료되는 것을 방지하는 기본적인 예외 처리를 했습니다.
- main 메서드:
- 이 메서드는 자바 프로그램의 시작점입니다.
- add(num1, num2)와 같이 메서드 이름을 사용하여 구현된 사칙연산 메서드를 호출하고, 반환된 값을 변수에 저장하여 사용합니다.
이 예제를 통해 자바에서 메서드를 정의하고 사용하는 기본적인 방식을 이해할 수 있을 거예요!
💡 Java 사칙연산 메서드 구현 예제
Java에서 두 정수(int)를 입력받아 덧셈, 뺄셈, 곱셈, 나눗셈을 수행하는 기본적인 메서드들을 구현하는 예제입니다. 이 예제는 메서드 선언, 매개변수 사용, 그리고 반환(return)의 개념을 이해하는 데 도움이 될 것입니다.
1. 예제 코드
Java
public class ArithmeticOperations {
// 덧셈 메서드
// 두 정수(a, b)를 더한 결과를 반환합니다.
public static int add(int a, int b) {
return a + b;
}
// 뺄셈 메서드
// 두 정수(a에서 b를 뺀) 결과를 반환합니다.
public static int subtract(int a, int b) {
return a - b;
}
// 곱셈 메서드
// 두 정수(a, b)를 곱한 결과를 반환합니다.
public static int multiply(int a, int b) {
return a * b;
}
// 나눗셈 메서드
// 두 정수(a를 b로 나눈) 결과를 반환합니다.
// 정수 나눗셈이므로 소수점 이하는 버려집니다.
// 0으로 나누는 경우를 방지하기 위해 간단한 예외 처리를 추가했습니다.
public static int divide(int a, int b) {
if (b == 0) {
System.out.println("오류: 0으로 나눌 수 없습니다.");
return 0; // 또는 다른 오류 처리 방식을 사용
}
return a / b;
}
public static void main(String[] args) {
int num1 = 10;
int num2 = 5;
// 각 메서드를 호출하고 결과를 출력합니다.
int sum = add(num1, num2);
System.out.println("덧셈 결과: " + num1 + " + " + num2 + " = " + sum); // 15
int difference = subtract(num1, num2);
System.out.println("뺄셈 결과: " + num1 + " - " + num2 + " = " + difference); // 5
int product = multiply(num1, num2);
System.out.println("곱셈 결과: " + num1 + " * " + num2 + " = " + product); // 50
int quotient = divide(num1, num2);
System.out.println("나눗셈 결과: " + num1 + " / " + num2 + " = " + quotient); // 2
// 0으로 나누는 경우 테스트
int divideByZero = divide(10, 0); // 오류 메시지 출력 후 0 반환
System.out.println("0으로 나눈 결과: " + divideByZero);
}
}
2. 코드 설명
- public static int add(int a, int b):
- public: 이 메서드가 어디서든 접근 가능함을 의미합니다.
- static: 객체를 생성하지 않고도 이 메서드를 호출할 수 있게 합니다 (클래스이름.메서드이름() 형태로 사용).
- int: 메서드가 정수(int) 타입의 결과를 반환함을 의미합니다 (반환 타입).
- add: 메서드의 이름입니다.
- (int a, int b): 이 메서드가 호출될 때 두 개의 정수 값을 매개변수(parameter)로 받는다는 것을 의미합니다.
- return a + b;:
- a와 b를 더한 계산 결과를 메서드를 호출한 곳으로 반환합니다.
- divide 메서드의 0 처리:
- divide 메서드에서 if (b == 0)을 사용하여 두 번째 숫자가 0인지 확인합니다. 수학적으로 0으로 나누는 것은 불가능하므로, 실제 연산 전에 오류 메시지를 출력하고 특정 값(여기서는 0)을 반환하여 프로그램이 비정상적으로 종료되는 것을 방지하는 기본적인 예외 처리를 했습니다.
- main 메서드:
- 이 메서드는 자바 프로그램의 시작점입니다.
- add(num1, num2)와 같이 메서드 이름을 사용하여 구현된 사칙연산 메서드를 호출하고, 반환된 값을 변수에 저장하여 사용합니다.
💻 Java 사칙연산 계산기 코드
Java
import java.util.Scanner;
public class SimpleCalculator {
public static void main(String[] args) {
// 1. Scanner 객체 생성
Scanner scanner = new Scanner(System.in);
// 2. 값 입력 받기
System.out.println("간단한 사칙연산 계산기");
// 첫 번째 값 (1값) 입력
System.out.print("첫 번째 숫자(1값)를 입력하세요: ");
double num1 = scanner.nextDouble();
// 연산자 입력
System.out.print("연산자(+, -, *, /)를 입력하세요: ");
String operator = scanner.next();
// 두 번째 값 (2값) 입력
System.out.print("두 번째 숫자(2값)를 입력하세요: ");
double num2 = scanner.nextDouble();
double result = 0; // 결과를 저장할 변수
// 3. switch문으로 연산자 처리
switch (operator) {
case "+":
// 덧셈 함수 호출
result = add(num1, num2);
break;
case "-":
// 뺄셈 함수 호출
result = subtract(num1, num2);
break;
case "*":
// 곱셈 함수 호출
result = multiply(num1, num2);
break;
case "/":
// 나눗셈 함수 호출 및 0으로 나누는 경우 처리
if (num2 != 0) {
result = divide(num1, num2);
} else {
System.out.println("오류: 0으로 나눌 수 없습니다.");
scanner.close();
return; // 프로그램 종료
}
break;
default:
// 유효하지 않은 연산자 처리
System.out.println("오류: 유효하지 않은 연산자입니다.");
scanner.close();
return; // 프로그램 종료
}
// 4. 결과 출력
System.out.println("--- 결과 ---");
System.out.println(num1 + " " + operator + " " + num2 + " = " + result);
// Scanner 닫기
scanner.close();
}
// --- 사칙연산 함수(메서드) 구현 ---
/**
* 두 수의 덧셈 결과를 반환합니다.
* @param a 첫 번째 수
* @param b 두 번째 수
* @return 덧셈 결과
*/
public static double add(double a, double b) {
return a + b;
}
/**
* 두 수의 뺄셈 결과를 반환합니다. (a - b)
* @param a 첫 번째 수
* @param b 두 번째 수
* @return 뺄셈 결과
*/
public static double subtract(double a, double b) {
return a - b;
}
/**
* 두 수의 곱셈 결과를 반환합니다.
* @param a 첫 번째 수
* @param b 두 번째 수
* @return 곱셈 결과
*/
public static double multiply(double a, double b) {
return a * b;
}
/**
* 두 수의 나눗셈 결과를 반환합니다. (a / b)
* @param a 첫 번째 수
* @param b 두 번째 수
* @return 나눗셈 결과
*/
public static double divide(double a, double b) {
// main 함수에서 0으로 나누는 경우를 이미 검사했지만,
// 함수 자체의 안전성을 위해 추가 검사를 할 수도 있습니다.
// 여기서는 main의 검사에 의존합니다.
return a / b;
}
}
📝 코드 설명
1. main 메서드 역할
- Scanner 클래스를 이용해 사용자로부터 num1 (첫 번째 값), operator (연산자), **num2 (두 번째 값)**를 차례로 입력받습니다.
- 입력받은 operator 문자열을 기준으로 switch문을 실행합니다.
- 각 case (+, -, *, /)에서 해당하는 사칙연산 함수(add, subtract, multiply, divide)를 호출하고, 그 리턴값을 result 변수에 저장합니다.
- 특히 나눗셈(case "/")에서는 num2가 0인지 검사하여 0으로 나누는 예외 상황을 처리했습니다.
- 모든 처리가 끝난 후 최종 결과를 출력합니다.
2. 사칙연산 함수 (add, subtract, multiply, divide)
- 각 연산은 public static double 타입의 메서드로 구현되어 있습니다.
- 두 개의 double 타입 매개변수를 받아 해당 연산을 수행한 후, 연산 결과를 double 타입으로 리턴합니다.
- 숫자를 실수(double)로 처리하여 정수뿐만 아니라 소수점 연산도 가능하도록 했습니다.
'Java_language' 카테고리의 다른 글
| 정렬, 버블정렬 알고리즘 Bubble Sort (0) | 2025.11.24 |
|---|---|
| 최대값 (Maximum) 반환 메서드 (0) | 2025.11.24 |
| 자바 범위 (Scope) (0) | 2025.11.24 |
| 메서드 오버라이딩 (Method Overriding) (0) | 2025.11.24 |
| 메서드 오버로딩 (Method Overloading) (0) | 2025.11.24 |