[Java] 메서드 시작

코드 속의 "진돌"·2024년 1월 8일
0
post-thumbnail

두 숫자를 입력 받아서 더하고 출력하는 단순한 기능을 개발해보자.

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

✏️ Method1

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;

✓ 계산 1

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

계산 1, 계산 2 둘 다 변수를 두 개 선언하고, 어떤 연산을 수행하는지 출력하고, 두 변수를 더해서 결과를 구한다.

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

이런 문제를 어떻게 깔끔하게 해결할 수 있을까? 잠깐 아주 간단하게 수학의 함수를 알아보자.

✅ 함수 (function)


숫자를 2개 입력하면 해당 숫자를 더한 다음에 그 결과를 출력하는 아주 단순한 함수이다. 이 함수의 이름은 add이다.

✏️ 함수 정의

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

수학의 함수의 개념을 프로그래밍에 가지고 온다면 어떨까? 필요한 기능을 미리 정의해두고 필요할 때 마다 호출해서 사용할 수 있기 때문에 앞서 고민한 문제들을 해결할 수 있을 것 같다.

프로그램 언어들은 오래 전 부터 이런 문제를 해결하기 위해 수학의 함수라는 개념을 차용해서 사용한다.

profile
매일 성장하는 주니어 개발자의 기록📝

0개의 댓글