• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

반환값 용도

22.02.24 19:52 작성 조회수 175

0

반환값이 없으면 void 를사용하고

반환값이 있으면 return 을사용해서  반환값을 받으면 된다는것은 알겠는데 어느 경우에 반환값을 사용해야하는지를 잘모르겠습니다

답변 1

답변을 작성해보세요.

1

kji0306님의 프로필

kji0306

2022.02.27

결론부터 말하자면, 반환된 값을 프로그램의 여러 곳에서 활용해야 할 때 return값을 갖는 메소드를 만듭니다.

 

학생의 이름이 저장되어 있는 String 타입의 name을 출력하는 기능을 만든다고 해 봅시다.

1. 리턴값을 갖지 않는 void 메소드를 만들어서 name을 출력하는 print문을 작성하는 방법이 있고,

String name = "홍길동";

public void printName() {

system.out.println(name);

}

// printName() 메소드를 main메소드에서 실행

2. String name의 값을 반환하는 메소드 1을 만든 다음,  메소드 1의 값을 받아와 출력하는 print문을 메소드 2에서 작성하여 실행하는 방법이 있습니다.

String name = "홍길동";

public String getName() {

return name;

}

public void printName() {

System.out.println(getName())

}

// printName() 메소드를 main메소드에서 실행

 

두 방법 모두  name의 값 "홍길동"을 출력하므로 결과는 같습니다.

 

하지만 프로그램의 규모가 커질수록 name의 값을 활용하는 기능들이 더 많아질 수 있습니다.

이를테면 변수 name에 해당되는 "홍길동"이라는 이름을 가지고 "홍길동"과 관련된 데이터를 검색하거나,  삭제하고 수정하는 기능을 갖는 메소드를 만들 때, name의 값을 return하는 메소드가 필요하게 될 것입니다.

 

프로그래밍 초반에는 프로그램의 규모가 작고 활용도가 낮기 때문에 return되는 값을 활용할 방법이 적습니다.

그러나 진도를 나가고 더욱 체계화된 프로그램을 만들게 되면, 특정한 기능을 수행하는 메소드를 각각 만들어 두고, 필요한 곳에서 메소드를 불러와 사용하는 방식으로 프로그램을 짜게 됩니다.

이러한 경우, 메소드 하나가 반환하는 값을 활용하여 여러 가지 기능을 수행하는 프로그램을 만들기 위해서 return값을 갖는 메소드를 만든다고 보면 되겠습니다.