두 숫자를 더하는 간단한 기능 만들기
코딩을 처음 배우거나 새로운 로직을 작성할 때, 가장 많이 연습하게 되는 예제 중 하나가 두 숫자를 더하는 간단한 연산입니다. 이번에는 두 숫자를 더한 결과를 출력하는 코드를 작성해 보겠습니다. 예를 들어 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 의 코드를 보면, 두 숫자를 더하고 결과를 출력하는 흐름이 거의 동일하다는 것을 알 수 있습니다. 여기서 문제가 발생할 수 있습니다. 만약 여러 곳에서 이와 같은 연산을 반복해야 한다면, 모든 코드에 같은 내용을 반복 작성해야 합니다. 이렇게 코드가 중복되면 유지보수가 어려워질 뿐만 아니라, 로직을 수정해야 할 경우 모든 곳을 일일이 찾아서 변경해야 합니다.
이 문제를 어떻게 해결할 수 있을까요?
함수로 중복 코드 해결하기
이럴 때 함수(수학적 함수 개념에서 차용한 function)를 이용하면 깔끔하게 해결할 수 있습니다. 함수는 필요할 때마다 동일한 기능을 호출하여 결과를 얻을 수 있는 블록을 미리 정의하는 개념입니다. 예를 들어, 두 숫자를 더하는 함수를 만든다면 이렇게 정의할 수 있습니다:
add(a, b) = a + b
함수의 이름은 add이고, a 와 b 두 값을 받아서 둘을 더하는 연산을 수행합니다. 이제 이 함수 add를 활용하여 같은 연산을 여러 번 반복할 필요 없이 쉽게 호출하여 사용할 수 있습니다.
함수를 이용한 예제는 아래와 같습니다:
add(1, 2) -> 결과: 3
add(5, 6) -> 결과: 11
add(3, 5) -> 결과: 8
이제 두 숫자를 더할 때마다 새로운 코드를 작성하는 대신, 함수만 호출하여 필요한 결과를 얻을 수 있게 되었습니다.
Java에서 함수, 메서드 사용하기
자바에서는 함수의 개념을 메서드(Method)라고 부릅니다. 메서드는 여러 번 반복되는 기능을 따로 정의하여 재사용성을 높일 수 있게 해주는 아주 유용한 기능입니다.
앞서 작성한 코드를 메서드로 변환하면 다음과 같이 작성할 수 있습니다:
package method;
public class Method1Ref {
public static void main(String[] args) {
int sum1 = add(1, 2);
System.out.println("결과1 출력:" + sum1);
int sum2 = add(10, 20);
System.out.println("결과2 출력:" + sum2);
}
// add 메서드
public static int add(int a, int b) {
System.out.println(a + "+" + b + " 연산 수행");
int sum = a + b;
return sum;
}
}
실행 결과:
1+2 연산 수행
결과1 출력:3
10+20 연산 수행
결과2 출력:30
메서드 구조 설명
이제 add 메서드가 어떻게 구성되었는지 살펴보겠습니다. 메서드는 크게 선언부와 본문으로 나뉩니다.
public static int add(int a, int b) {
System.out.println(a + "+" + b + " 연산 수행");
int sum = a + b;
return sum;
}
메서드 선언부: public static int add(int a, int b)는 메서드의 이름과 반환 타입, 그리고 입력 매개변수를 정의합니다.
- public: 다른 클래스에서도 호출할 수 있음을 의미합니다.
- static: 객체를 생성하지 않고도 메서드를 호출할 수 있도록 합니다.
- int: 반환 타입을 지정합니다. 이 경우 int 타입의 결과를 반환합니다.
- add: 메서드 이름입니다.
- (int a, int b): 입력 값입니다. 여기서 a와 b는 메서드 내부에서만 사용 가능한 매개변수입니다.
메서드 본문: 메서드 내부에서 실행될 구체적인 코드를 포함합니다. 호출 시 a와 b의 값을 받아 연산을 수행하고, 결과를 return을 통해 반환합니다.
메서드를 사용하면 코드 중복이 사라지고, 훨씬 깔끔하게 필요한 연산을 수행할 수 있게 됩니다.
메서드를 통한 코드 재사용성 높이기
이제 메서드를 통해 동일한 연산을 다양한 입력 값으로 쉽게 호출할 수 있다는 것을 알았습니다. 메서드를 사용하면 유지보수도 훨씬 쉬워집니다. 코드 중복을 줄이고, 하나의 메서드를 통해 여러 곳에서 동일한 연산을 호출할 수 있기 때문입니다. 앞으로 더 복잡한 기능을 구현할 때에도 이런 방식으로 메서드를 활용하여 효율적으로 코드를 작성해 보세요!
'Back-End > Java' 카테고리의 다른 글
자바 메서드 호출과 값 복사 그리고 오버로딩 (0) | 2024.10.29 |
---|---|
배열 선언과 생성 이해하기 (0) | 2024.10.26 |
자바에서 Scanner 클래스를 활용한 사용자 입력 받기 (0) | 2024.10.24 |
자바의 형변환(Casting) 이해하기 (0) | 2024.10.22 |
지역 변수와 스코프 (0) | 2024.10.21 |