JAVA method

메소드의 입력 값

수업소개

메소드는 작은 프로그램이라고 할 수 있습니다. 입력값에 따라서 다양하게 동작하는 프로그램을 만들 수 있는 것처럼, 메소드도 입력값을 받아서 처리할 수 있도록 개선할 수 있습니다. 그 방법을 살펴보겠습니다.

 

 

 

강의

소스코드

public class WhyMethod {
    
	public static void main(String[] args) {
		
			             //인자, argument
			printTwoTimes("a", "-");
			// 100000000
			printTwoTimes("a", "*");
			// 100000000
			printTwoTimes("a", "&");
			printTwoTimes("b", "!");

	}
								     //매개변수,parameter 
	public static void printTwoTimes(String text, String delimiter) {
		System.out.println(delimiter);
		System.out.println(text);
		System.out.println(text);
	}

}

 

 

댓글

댓글 본문
  1. Sansol Park
    네, 질문하신 내용을 정리하고 설명드리겠습니다.

    ### 1. **메소드에서 매개변수와 인자(argument)의 역할**

    먼저 메소드에서의 **매개변수(parameter)**와 **인자(argument)**에 대해 살펴봅시다.

    - **매개변수 (Parameter)**: 메소드를 정의할 때 사용되는 변수로, 메소드 내에서 사용할 값을 전달받기 위한 변수입니다. 이 값은 메소드가 호출될 때 외부에서 전달됩니다.
    - **인자 (Argument)**: 메소드를 호출할 때 전달되는 실제 값입니다. 인자는 메소드의 매개변수에 전달되어 메소드 내에서 사용됩니다.

    #### 예시 코드:
    ```java
    public static void printTwoTimes(String text, String delimiter) {
    System.out.println(delimiter);
    System.out.println(text);
    System.out.println(text);
    }
    ```
    위의 코드에서 `printTwoTimes(String text, String delimiter)`는 두 개의 매개변수 `text`와 `delimiter`를 받습니다. 이 매개변수들은 메소드 호출 시 전달된 인자 값을 받아서 메소드 내에서 사용됩니다.

    #### 호출 부분:
    ```java
    printTwoTimes("a", "-");
    ```
    여기서 `"a"`와 `"-"`는 `text`와 `delimiter`라는 매개변수에 전달될 인자입니다. 이렇게 전달된 인자는 메소드 내에서 처리되어 콘솔에 출력됩니다.

    ### 2. **`main(String[] args)`의 작동 방식**

    `main(String[] args)` 메소드는 자바 프로그램의 진입점으로, 이 메소드가 실행될 때 **커맨드라인 인자**를 배열 형태로 전달받습니다. 이때 `args` 배열은 프로그램을 실행할 때 외부에서 전달되는 값을 담고 있습니다.

    예를 들어, 자바 프로그램을 실행할 때:
    ```
    java MyProgram argument1 argument2
    ```
    이렇게 하면 `args[0]`은 `"argument1"`, `args[1]`은 `"argument2"`가 됩니다. 이 배열은 메소드 내에서 사용할 수 있습니다.

    #### 예시 코드:
    ```java
    public class MainClass {
    public static void main(String[] args) {
    System.out.println(args[0]);
    System.out.println(args[1]);
    }
    }
    ```

    #### 실행 예:
    ```
    java MainClass Hello World
    ```

    출력 결과:
    ```
    Hello
    World
    ```

    여기서 `"Hello"`와 `"World"`는 `args` 배열의 첫 번째와 두 번째 요소로 각각 할당되어, `System.out.println(args[0])`와 `System.out.println(args[1])`에 의해 콘솔에 출력됩니다.

    ### 3. **작동 방식의 정리**

    - **`printTwoTimes("a", "-")`**: 호출 시 `"a"`와 `"-"`가 `printTwoTimes` 메소드의 매개변수 `text`와 `delimiter`로 전달됩니다. 이 값들이 메소드 내에서 사용되어 출력됩니다.
    - **`main(String[] args)`에서 `args[0]` 출력**: 자바 프로그램이 실행될 때 명령줄에서 전달된 인자들이 `args` 배열에 저장됩니다. 이 배열의 요소는 프로그램 내에서 `args[0]`, `args[1]` 등으로 접근하여 사용할 수 있으며, 이를 통해 전달된 값을 출력하거나 로직에 활용할 수 있습니다.

    따라서 **매개변수**는 메소드가 실행될 때 받을 값을 정의한 것이고, **인자**는 그 매개변수에 실제로 전달되는 값이라고 이해할 수 있습니다.
    대화보기
    • 240527
    • 당당
      2023.04.19
    • 왕날편
      argument(인자): method를 사용할 때, method안으로 주입하는 구체적인 값.
      -> printTwoTimes("a", "b"); 에서 "a"와 "b"

      parameter(매개변수): method를 사용하는 바깥쪽에서 주입하는 값을 method안으로 흘려보내 주는 매개자.
      -> public static void printTwoTimes(String text1, String text2) {
      System.out.println(text1); System.out.println(text2);
      } 에서 String text1과 String text2
    • labis98
      20230202 완료
    • Min Jupiter
      221227
    • 보통사람 박코딩
      할수있다
    • 자바자바
      코드를 메소드로 extract하고 메소드를 정의된 부분의 값을 따르지 않고 출력창에 괄호안에 값에 따라 값을 변화시키려면
      parameter와 argument를 통해서 적용할 수 있다.
      argument의 값이 정의된 메소드로 매개변수를 통해서 들어가고 내부 매개변수에 입력된 정보가 메소드 출력코드로 가서 콘솔에 출력되는 방식인가요?
      그러면, main(String[] args) {}의 경우에 System.out.println (args{0});라고 한다면 내가 configuration에서 지정한 argument가 args라는 매개변수를 통해서 Java에서 지정한 System.out.println이 정의된 곳으로 가고 거기서 인자값이 코드안의 매개변수에 들어가고 그것이 다시 System.out.println();으로 와서 콘솔에 출력되는 방식인가요?
    • 후토마끼
      22.10.11
    • whoami
      22.9.12 완료
    • 제이드
      args(arguments)(인자)는 함수 안으로 주입한 구체적 값. 자바가 main이라는 메쏘드를 실행할 때, 입력해주는 입력값이 args를 통해서 들어옴.

      text, delimiter 같은 변수? 메쏘드 바깥쪽에서(메쏘드를 사용하는 쪽에서) 주입한 값을 메쏘드 안으로 흘려보내주는 매개자 라는 의미에서 매개변수(parameter) 라고 함.
    • economin
      method안에 parameter을 넣고 함수를 호출할 때 argument를 넣으면 그 argument와 관련된 결과값이 도출된다.
    • 입력값에따라서 다르게 출력하는 메소드를 만들고싶다
      -> 메소드(~~) 소괄호안에 매개변수parameter를 넣는다.

      메소드가 실제 동작하는(즉,main함수안에서) 메소드(~~)소괄호안에
      실제 주입된 값은 인자,argument로 부른다.
    • 육도
      2022.05.13 완료
    • 열정jk
      220220 감사합니다
    • 나연
      2022년 2월 12일 (토) 완료

      매개변수(Parameter)
      전달인자(Argument)
    • 김보노
      22-01-22
    • 주간식당메뉴
      2021.11.03.
    • 성치
      2021-10-24일 완료
    • won4175
      2021.10.18
    • 3초컷
      1005
    • 까만콜라
      2021.09.29 완료
    • everdoit
      parameter 와 argument 개념을 도입하니 확실히 더 효율적이네요!
    • 2021.08.28 완료
    • labis98
      20210811
    • 이마누
      완료
    • super1Nova
      210807
    • Jaemin Lim
      2021.07.24
    • B=loom
      2021.07.17
    • 초딩 개발자
      2021/06/23
    • 도공우승9
      ok
    • jeisyoon
      2021.05.01 Method Input (Argument & Parameter) - OK
    • anya422
      done~
    • Sunho Kim
      완료(2021.04.18.일)
    • 레이
      21.04.13
    • chimhyangmoo
      21.04.08
    • 김궐궐
      완료!
    • gojgho
      argument 인자 -> 메소드에 실행될떄 사용되는값
      parameter 매개변수 -> 다른곳에서 받은 값을 본 메소드에 전해주는값
    • boat
      감사합니다!
    • oyuiw
      20201213
    • 제예솔
      이고잉님은 정말 대단하십니다ㅠㅠ 감사합니다!
    • 안광민
      자바는 main이란 메소드가 있어야 실행이 가능하다.
      parameter(매개변수)는 인자를 method 안에 넣어주는 값
      argument(인자)는 실제 method를 실행할 때 입력하는 값이다.

      완료
    • 뚜껑
      // 인자, argument
      메소드에 주입하는 값
      // 매개변수, parameter
      다른 곳에서 받은 값을 본 메소드에 전해주는 값
    • 선대범
      //인자, argument
      //사용자가 해당 메소드에 집어 넣어 원하는 결과를 얻기 위해 입력하는 값, 매개변수를 통해 메소드로 들어가 지역변수에 의해 위치를 잡고 해당위치의 코드의 실행한 결과값의 원인이 되는 값

      // 매개 변수, parameter
      // 메소드의 밖에서 메소드를 인자와 같이 사용했을 때 인자를 메소드 안으로 불러들이는 매개체

      //지역 변수, Local Variable
      //메소드 안에서 매개변수가 불러들인 인자가 들어갈 지점을 알려주는 변수
    • hyuna lee
      재밌어요
    • dhyan
      Parameter (매개변수) : 함수 안으로 인자를 날라주는 역할
      Argument (인자) : 함수 안에 넣을 값!
    • yyrr
      완료
    • 임지수
      2020.01.31 완료
    • 라또마니
      감사합니다.
    • 이기호
      대박 강의 감사합니다^^