공부/전자컴퓨터공학

메서드 호출과 리턴 - Java 예제

AhJustC 2024. 6. 18. 16:14
반응형
메서드의 호출(invoke; call)

변수에 메서드가 담겨있다면, 다른 변수와는 다르게 () 괄호를 붙여 메서드를 호출할 수 있다. 또한 입력값을 설정할 수도 있는데 이를 전달인자(argument), 줄여서 인자라고 부른다.

String word = speakUp("hello world");
// 1. 메서드 speakUp에 ()를 붙여 함수를 호출
// 2. 호출 시 괄호 안에 "hello world"를 넣어 문자열 "hello world"를 인자로 전달
// 3. 호출된 메서드가 리턴하는 값을 변수 word에 할당

 

메서드의 리턴(return)

메서드가 호출되고 나면, 메서드의 body인 중괄호 내의 코드가 실행되고 결과값을 리턴한다. 이 결과 값은 메서드의 body에서 어떤 값을 return 하는지에 따라서 결정된다. 다만, 메서드에서 지정한 타입과 같은 타입의 값만 반환이 가능하다.

public int minusOne(int input) {
  input = input - 1;
  return input;
}
int result = minusOne(10); // 9
//void타입을 지정한다면, 해당 메서드는 어떠한 값도 반환하지 않음
public void functionWithoutReturn() {
  System.out.println("I may return!");
}
반응형

 

문제

문자열을 인자로 받아서 느낌표를 붙여서 리턴해주는 메서드 returnWordWithJoy가 있다. 메서드 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어 호출하고 그 결과값을 변수 word에 할당하자.

 

코드 작성
public class Solution {
	
	public String invoke() {
    String word;
		word=returnWordWithJoy("I love coding");
        //I love coding을 인자로 넣어 호출 후 word에 할당
    return word;
  }

  public static String returnWordWithJoy(String str) {
    if(str.equals("")) return "empty value";
    else return str + "!";
    //입력이 공백이면 공백을 출력, 이외에는 !를 붙여 출력
  }
}
반응형