inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

나도코딩의 자바 기본편 - 풀코스 (20시간)

전달값 반환값 차이

349

IIIiillillil

작성한 질문수 2

0

반환값이 없는 경우에는 Void를 사용하고 전달값을 쓴다.

반환값 return이 있는 경우에는 반환에 따라 Int / String/Double 을 사용한다

까지 제가 이해를 한 부분인데...

public static void power (int number)

 

public static String getPhoneNumber()

 

어떤 차이에 따라 어떻게 사용되는지를 잘모르겠습니다.ㅠㅠ

java 객체지향

답변 1

0

나도코딩

안녕하세요?

메소드의 전달값과 반환값을 처음 접하게 되면 누구나 어렵게 느껴지게 마련입니다.

😊 하나씩 설명드려볼게요.

먼저 메소드는 어떤 특정 기능을 하는 코드들의 묶음입니다. 그리고 다른 어딘가에서 이 메소드를 호출하게 되면 메소드 내부의 코드가 실행되는 것이죠. 이때 메소드를 호출할 때 어떤 값을 전달하고 그 값을 메소드 내에서 사용해야 하는 경우라면 전달값을 보내줍니다. 별다른 전달값 없이 메소드 자체적으로 동작한다면 전달값을 보내주지 않아도 됩니다.

즉 전달값을 보내거나, 보내지 않거나 둘 중 하나입니다.

메소드의 동작을 수행하고 나서 결과값을 반환할 필요가 있다면, 그러니까 메소드를 호출한 곳에서 결과값을 받아서 사용할 필요가 있다면 값을 반환합니다. 동작을 수행하기만 하고 별다른 결과값을 반환할 필요가 없다면, 그러니까 메소드를 호출한 곳에서 결과값을 받아서 사용할 필요가 없다면 값을 반환하지 않습니다.

즉 값을 반환하거나, 반환하지 않거나 둘 중 하나입니다.

 

전달값과 반환값은 이렇게 몇 가지 세트로 구성될 수 있습니다.

1. 전달값도 없고 반환값도 없는 경우

public static void print() {
    System.out.println("평범한 메소드");
}

2. 전달값은 있지만 반환값은 없는 경우

public static void print(String name) {
    System.out.println("나의 이름은 " + name); // 전달값 사용
}

3. 전달값은 없지만 반환값이 있는 경우

public static String getPhoneNumber() {
    return "010-1234-5678"; // 010-1234-5678 이라는 문자열 반환
}

4. 전달값도 있고 반환값도 있는 경우

public static int add(int num1, int num2) {
    return num1 + num2; // num1 과 num2 를 사용하여 두 수의 합을 반환
}

코드에서 보시다시피 반환값이 있는 경우 에는 반드시 return 이 필요하며 어떠한 값을 반환해줘야 합니다. 반환값이 없는 경우 에는 return 이 필요하지 않습니다. (메소드의 동작을 즉시 멈추기 위해 return 을 사용할 수는 있습니다)

전달값이 있는 경우 에는 괄호 속에 변수명을 작성하며 메소드 내에서 사용을 합니다. 그리고 이 메소드를 호출하는 곳에서 반드시 값을 전달해줘야 합니다. 전달값이 없는 경우 에는 괄호 속을 비워둡니다. 메소드를 호출하는 곳에서는 그냥 메소드 이름 뒤에 () 이렇게 괄호를 열고 닫아주기만 하면 됩니다.

위 4가지 경우에 대해 한 번씩 천천히 살펴보시면서 강의 내용을 다시 한 번 복습하시면 도움될거에요 😊
혹시라도 더 궁금한 부분 또는 설명이 더 필요한 부분이 있으시다면 질문글 다시 남겨주세요!

감사합니다.

0

IIIiillillil

답변 감사합니다!

 

 

자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?

1

145

2

static이 뭐였는지 기억이 안나요 ㅜㅜ

0

118

2

Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의

0

70

1

사고력 키우는 법이 어떤게 있나요?

0

93

2

getter setter

0

101

2

섹션9. 66 메소드 오버로딩 시 질문이 있습니다.

0

79

1

안녕하세요 갑자기 프로그램 에러가 떠서 안되네요

0

75

2

변수 이름짓는법

0

114

2

intelli J 실행오류

0

114

2

혹시 이건 수학적 사고가 부족한 걸까요?

0

152

2

영상이 재생이 안됩니다.

0

167

3

이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.

0

116

2

응용이 어렵습니다.

0

206

2

IntelliJ가 보이지 않습니다.

0

185

3

JDK 버전 문의

0

128

2

BlackBox 파일 내에서 메소드 정의

0

136

1

동기화

0

120

2

Iterator 문의

0

104

1

코드 순서 문의

0

141

1

클래스 메소드

0

149

2

Quiz_05 관련 질문드립니다 !

0

118

2

다운로드가 안됩니다

0

165

2

다형성

0

120

2

HashMap

0

80

2