Home > 2024 > Java > ☕️[Java] 메서드.

☕️[Java] 메서드.
Java Programming Language

메서드의 필요성을 알기위해서 아래의 코드를 보고 실제로 느껴보겠습니다.

아래의 코드는 두 숫자를 입력 받아서 더하고 출력하는 단순한 기능을하는 프로그램입니다.

먼저 1+2를 수행하고, 그 다음으로 10 + 20을 수행합니다.

package method;

public class Method1 {

  public static void main(String[] args) {
    // 계산1
    int a = 1;
    int b = 2;
    System.out.println(a + "+" + b + " 연산 수행");
    int sum1 = a + b;
    System.out.println("결과1 출력: " + sum1);

    // 계산2
    int x = 10;
    int y = 20;
    System.out.println(x + "+" + y + " 연산 수행");
    int sum2 = x + y;
    System.out.println("결과2 출력:" + sum2);
  }
}

위 코드는 다음과 같은 특징이 있습니다.

  • 같은 연산을 두 번 수행합니다.
  • 코드를 잘보면 계산 1 부분과, 계산 2 부분이 거의 같습니다.

계산 1

int a = 1;
int b = 2;
System.out.println(a + "+" + b + " 연산 수행");
int sum1 = a + b;

계산 2

int x = 10;
int y = 20;
System.out.println(x + "+" + y + " 연산 수행");
int sum2 = x + y;

계산 1과 2 둘 다 변수를 두 개 선언하고, 어떤 연산을 수행하는지 출력하고, 두 변수를 더해서 결과를 구합니다.
만약 프로그램의 여러 곳에서 이와 같은 계산을 반복해야 할 경우에는 같은 코드를 여러번 반복해서 작성해야 할 것입니다.
더 나아가서 어떤 연산을 수행하는지 출력하는 부분을 변경하거나 또는 제거하고 싶다면 해당 코드를 다 찾아다니면서 모두 수정해야 할 것 입니다.

함수(Function)

함수 정의

add(a, b) = a + b
  • 이름이 add이고, a,b라는 두 값을 받는 함수입니다. 그리고 이 함수는 a + b 연산을 수행합니다.

함수 사용

add(1,2) -> 결과: 3
add(5,6) -> 결과: 11
add(3,5) -> 결과: 8
  • 함수에 값을 입력하면, 함수가 가진 연산을 처리한 다음 결과를 출력합니다. 여기서는 단순히 a + b라는 연산을 수행합니다.
  • 여러번 같은 계산을 해야 한다면 지금처럼 함수를 만들어두고(정의), 필요한 입력 값을 넣어서 해당 함수를 호출하면 됩니다. 그러면 계산된 결과가 나옵니다.
  • 함수는 마치 마술상자와 같습니다. 함수를 호출할 때는 외부에서는 필요한 값만 입력하면 됩니다. 그러면 계산된 결과가 출력됩니다.
    • 내부 구조는 어떻게 되어있는지 알 필요가 없습니다.
  • 같은 함수를 다른 입력 값으로 여러번 호출할 수 있습니다.
  • 여기서 핵심은 함수를 한 번 정의해두면 계속해서 재사용할 수 있다는 점입니다!

평균 함수

만약 두 수의 평균을 구해야 한다면 매번 (a + b) / 2라는 공식을 사용해야 할 것입니다.
이것을 함수로 만들어두면 다음과 같이 사용할 수 있습니다.

함수 정의

avg(a, b) = (a + b) / 2

함수 사용

avg(4, 6) -> 결과: 5
avg(10, 20) -> 결과: 15
avg(100, 200) -> 결과: 150

수하의 함수의 개념을 프로그래밍에 가지고 온다면 어떨까요?
필요한 기능을 미리 정의해두고 필요할 때 마다 호출해서 사용할 수 있기 때문에 앞서 고민한 문제들을 해결할 수 있을 것 같습니다.
프로그램 언어들은 오래 전 부터 이런 문제를 해결하기 위해 수학의 함수라는 개념을 차용해서 사용합니다.