[자바]리턴

Kingyj·2024년 11월 22일

리턴?

Java에서 return 키워드는 메서드의 실행을 종료하고 호출한 쪽에 값을 반환하는 데 사용된다. 반환할 값이 없는 경우에는 void 타입 메서드에서 사용하여 단순히 메서드를 종료할 수 있다.

값 반환 (메서드가 특정 값을 반환해야 할 때)

  • 메서드의 반환 타입이 특정 타입(int, String, 객체 등)일 경우, return은 해당 타입의 값을 반환한다.
public int add(int a, int b) {
    return a + b; // 두 숫자의 합을 반환
}

값을 반환하지 않는 경우 (void 메서드)

  • void 타입의 메서드는 값을 반환하지 않으며, return은 메서드의 실행을 조기에 종료하는 용도로 사용된다.
public void printPositive(int num) {
    if (num <= 0) {
        return; // 음수이거나 0일 경우 메서드 종료
    }
    System.out.println("Positive number: " + num);
}

객체 반환

  • Java 메서드는 객체를 반환할 수도 있다.
public String getGreeting(String name) {
    return "Hello, " + name + "!";
}

복잡한 로직에서의 return

  • 메서드 안에서 조건에 따라 여러 return 문을 사용할 수 있다.
public String checkEvenOdd(int num) {
    if (num % 2 == 0) {
        return "Even";
    } else {
        return "Odd";
    }
}

주의점

  • 메서드의 반환 타입과 반환 값이 일치해야 한다.
public int invalidReturn() {
    return "String"; // 컴파일 에러: 반환 타입 불일치
}
  • 모든 경로에서 값을 반환해야 한다.
public int exampleError(boolean flag) {
    if (flag) {
        return 1;
    }
    // else 분기가 없어서 컴파일 에러 발생
}
  • void 메서드에서 값을 반환할 수 없다.
public void invalidVoidReturn() {
    return 42; // 컴파일 에러 발생
}

0개의 댓글