return 문은 자바에서 메서드가 값을 반환하고 메서드의 실행을 종료하는 데 사용된다. return 문은 메서드의 반환 타입에 맞춰 반환할 값을 지정해야 한다. 또한, return 문은 메서드의 종료를 강제로 가능하다.
여기서 두 가지 경우로 나타낸다.
메서드가 값을 반환하는 경우
메서드의 반환 타입이 void가 아닌 경우, return 문은 해당 타입의 값을 반환해야 한다.
public class Calculator {
// int 타입의 값을 반환하는 메서드
public int add(int a, int b) {
return a + b; // 덧셈 결과를 반환
}
// double 타입의 값을 반환하는 메서드
public double divide(double a, double b) {
if (b == 0) {
throw new IllegalArgumentException("Division by zero is not allowed.");
}
return a / b; // 나눗셈 결과를 반환
}
}
메서드가 값을 반환하지 않는 경우 (void 메서드)
메서드의 반환 타입이 void인 경우, return 문을 사용해 메서드의 실행을 종료할 수 있다. 이때 return 뒤에 값을 명시하지 않았다.
public class Car {
private String model;
private int year;
public void displayInfo() {
System.out.println("Model: " + model + ", Year: " + year);
return; // 메서드 종료 (선택 사항)
}
public void startEngine(boolean hasFuel) {
if (!hasFuel) {
System.out.println("Cannot start engine: No fuel.");
return; // 메서드 종료
}
System.out.println("Engine started.");
}
}
반환 타입에 따른 사용법
기본 데이터 타입 반환
public int getNumber() {
return 42;
}
public boolean isEven(int number) {
return number % 2 == 0;
}
참조 타입 반환
public String getGreeting() {
return "Hello, World!";
}
public Car getCar() {
return new Car("Toyota", 2022);
}
조건부 반환
return 문은 조건문 내에서 사용되어 조건에 따라 다른 값을 반환하거나 메서드를 종료할 수 있습니다.
public class NumberUtil {
public static int max(int a, int b) {
if (a > b) {
return a;
} else {
return b;
}
}
public static String getEvenOrOdd(int number) {
if (number % 2 == 0) {
return "Even";
} else {
return "Odd";
}
}
}
반환 값의 처리
메서드를 호출하는 측에서는 반환된 값을 변수에 저장하거나 다른 메서드 호출에 사용할 수 있습니다.
public class Main {
public static void main(String[] args) {
Calculator calculator = new Calculator();
int sum = calculator.add(5, 3);
System.out.println("Sum: " + sum); // 출력: Sum: 8
double result = calculator.divide(10, 2);
System.out.println("Division result: " + result); // 출력: Division result: 5.0
Car car = new Car("Honda", 2023);
car.startEngine(false); // 출력: Cannot start engine: No fuel.
}
}
주의사항
반환 타입 일치: 메서드의 반환 타입과 return 문의 반환 값의 타입이 일치해야 한다.
메서드 종료: return 문은 메서드의 실행을 즉시 종료시킵니다. return 문 이후에 오는 코드는 실행되지 않게한다.
반환 값의 유효성: 메서드가 객체를 반환할 때, null 반환을 고려하여 호출 측에서 null 처리를 할 수 있도록 한다.
'Java 문법정리 (Array부터)' 카테고리의 다른 글
Calendar(java 8이후는 java.time) (0) | 2024.07.26 |
---|---|
기본형 매개변수, 참조형 매개변수 (2) | 2024.07.23 |
클래스 설계 단계 (3) | 2024.07.23 |
객체란? (1) | 2024.07.23 |
StringBuffer, StringBuilder (0) | 2024.07.23 |