본문 바로가기

프로그래밍/Java (기초)

메소드의 입력과 출력

반응형

메소드의 입력과 출력

매개변수와 인자

메소드의 입력 값은 매개변수(parameter)를 통해서 이루어진다.



public class MethodDemo4 {

    public static void numbering(int limit) {

        int i = 0;

        while (i < limit) {

            System.out.println(i);

            i++;

        }

    }

 

    public static void main(String[] args) {

        numbering(5);

    }

}


(*결과

0

1

2

3

4

)

//     public static void main(String[] args) {

        numbering(5); 의 숫자5가 


public class MethodDemo4 {

    public static void numbering(int limit)에서 limit에 해당되며

while문에서 limit의 값으로 대입되므로.. 0,1,2,3,4가 출력된다



이때 호출부(main)에서 입력한 값을 로직으로 매개한다는 의미에서 이런 변수를 매개변수(parameter)라 한다. 

또 메소드를 호출할때 전달된 값인 5를 인자(argument)라 부른다.

관습적으로는 매개변수와 인자를 구분하지 않고 부르는 경우도 많다.


복수의 인자

    public static void numbering(int init, int limit) {

        int i = init;

        while (i < limit) {

            System.out.println(i);

            i++;

        }

    }

 

    public static void main(String[] args) {

        numbering(1, 5);

    }

 

}

 

(* 결과

1

2

3

4

)

    public static void main(String[] args) {

        numbering(1, 5);

    }


처럼 쉼표를 이용해 복수의 인자를 넣어 메소드를 작성할수 있다.




return


public class MethodDemo6 {

    public static String numbering(int init, int limit) {

        int i = init;

        // 만들어지는 숫자들을 output이라는 변수에 담기 위해서 변수에 빈 값을 주었다.

        String output = "";

        while (i < limit) {

            // 숫자를 화면에 출력하는 대신 변수 output에 담았다.

            output += i;

            i++;

        }

        // 중요!!! output에 담겨 있는 문자열을 메소드 외부로 반환하려면 아래와 같이 return 키워드 뒤에 반환하려는 값을

        // 배치하면 된다.

        return output;

    }

 

    public static void main(String[] args) {

        // 메소드 numbering이 리턴한 값이 변수 result에 담긴다.

        String result = numbering(1, 5);

        // 변수 result의 값을 화면에 출력한다.

        System.out.println(result);

    }

}



numbers에서 도출된 결과값을 result로 반환하고

그 값을 return에 할당했다.


다만 반환값이없다면 void를 넣어준다.

   public static void main(String[] args) {




public class ReturnDemo {

    public static int one() {

        return 1;

        return 2;

        return 3;

    }

 

    public static void main(String[] args) {

        System.out.println(one());

    }

}


// 다음 코드는  return이 메소드를 종료시키는 역할을 하므로 어떠한 일도 일어나지 않고, 컴파일도 되지 않는다.




복수의 리턴


    public static String[] getMembers() {

        String[] members = { "최진혁", "최유빈", "한이람" };

        return members;

    }

 

    public static void main(String[] args) {

        String[] members = getMembers();

    }

 

}

// 다음과 같이 복수의 데이터(배열)을 리턴값으로 지정하면

복수의 데이터를 리턴할수 있으며 

여러번의 리턴으로는 복수의 데이터를 지정할수 없다.


반응형

'프로그래밍 > Java (기초)' 카테고리의 다른 글

유효범위 (Scope)  (0) 2016.03.26
입력과 출력. String[] args  (0) 2016.03.18
메소드(method)의 형식과 활용  (0) 2016.03.18
배열(array)  (0) 2016.03.18
반복문의 제어(break, continue, 반복문의 중첩)  (0) 2016.03.18