-
반환(return)은 왜 할까?JAVA/궁금증 2024. 8. 10. 00:48
반환은 함수나 메서드가 외부로부터 호출되었을 때, 그 결과나 처리한 값 등을 외부에 제공하는 방법.
함수 또는 메서드에서 반환된 값은 호출한 측에서 변수에 할당하거나 다른 연산에 사용함으로써 외부에서 활용된다.
출력만 하면 되는 메소드에선 return이 없어도 된다 ex) system.out.println
ex1)
public int add(int a, int b) { return a + b; }
이 메서드는 두 정수를 받아서 그 합을 반환한다.
이 메서드를 호출한 후 반환된 결과를 다음과 같이 변수에 할당할 수 있다.
int sum = add(3, 5);
이렇게 하면 메서드가 반환한 값을 sum이라는 변수에 저장할 수 있다.
반환값을 사용하여 메서드의 결과를 외부로 전달하고, 이를 통해 호출한 측에서 필요한 작업을 수행할 수 있다.
ex2)
public class ProductOrderMain2 { public static void main(String[] args) { ProductOrder[] orders = new ProductOrder[3]; ProductOrder order1 = new ProductOrder(); order1.productName ="두부"; order1.price = 2000; order1.quantity = 2; orders[0] = order1; ProductOrder order2 = new ProductOrder(); order2.productName = "김치"; order2.price = 5000; order2.quantity = 1; orders[1] = order2; ProductOrder order3 = new ProductOrder(); order3.productName = "콜라"; order3.price = 1500; order3.quantity = 2; orders[2] = order3; int totalAmount = 0; for (ProductOrder order : orders) { System.out.println("상품명 "+ order.productName + ", 가격: " + order.price + ", 수량: " + order.quantity); totalAmount += order.price * order.quantity; } System.out.println("총 결제 금액: " + totalAmount); } static ProductOrder createOrder(String productName, int price, int quantity) { ProductOrder order = new ProductOrder(); // 여기서 생성해줘야 함. 그래야 새로운 ProductOrder 객체를 생성하고 반환할 수 있게 됨 order.productName = productName; order.price = price; order.quantity = quantity; return order; } }
리턴한 덕분에
ProductOrder order1 = createOrder("두부","2000", 2); ProductOrder order2 = createOrder("김치", 5000, 1); ProductOrder order3 = createOrder("콜라", 5000,1);
이렇게 줄일 수 있고, 더 줄이면
orders[0] = createOrder("두부","2000", 2); orders[1] = createOrder("김치", 5000, 1); orders[2] = createOrder("콜라", 5000,1);
'JAVA > 궁금증' 카테고리의 다른 글
객체의 생성과 참조 (0) 2024.09.15 생성자 다시 기본 정리(do it! 자바) (0) 2024.09.15 인스턴스 객체화하는 이유 (0) 2024.09.01 생성자는 클래스 당 몇 개 만들 수 있을까? (0) 2024.08.25 Q.참조값을 왜 변수에 보관해야 돼? (0) 2024.08.10