[Java] 메소드의 중요성
메소드는 프로그램에서 중요한 역할을 합니다. 메소드는 코드를 재활용하고, 중복을 줄여 코드를 효율적으로 작성할 수 있게 도와줍니다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있으며, 프로그램의 성능 향상에도 기여할 수 있습니다. 오늘은 메소드의 기본 개념과 사용법에 대해 다뤄보겠습니다. 다양한 형태의 메소드를 살펴보고, 실제로 어떻게 활용되는지 알아보겠습니다.
메소드의 종류와 활용
1. 이름만 호출하면 실행되는 메소드
메소드는 단순히 기능을 분리하여 반복적으로 사용할 수 있게 만들어줍니다. 가장 기본적인 메소드는 매개변수가 없이 실행되는 메소드입니다.
코드 예시
public class Method1 {
public static void method1() {
System.out.println("Hello Java");
}
public static void main(String[] args) {
method1(); // 메소드 호출
method1(); // 메소드 호출
method1(); // 메소드 호출
}
}
핵심 포인트
- method1()은 매개변수가 없고, 호출만 하면 "Hello Java"를 출력합니다.
- public static void로 정의되어 있으며, 이는 반환값이 없고 static으로 호출 가능한 메소드입니다.
2. 매개변수가 있는 메소드
메소드는 매개변수를 전달받아 동적으로 동작할 수 있습니다. 이를 통해 반복적인 코드 작성을 줄일 수 있습니다.
코드 예시
public class Method2 {
public static void method1(int num) {
System.out.println("매개변수로 전달된 값 : " + num);
}
public static void method2(int num1, int num2) {
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
}
public static void method3(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
sum += i;
}
System.out.println(start + "부터 " + end + "까지 합 : " + sum);
}
public static void main(String[] args) {
method1(10); // 10 전달
method2(10, 5); // 10과 5 전달
method3(1, 100); // 1부터 100까지 합 계산
}
}
핵심 포인트
- method1(int num), method2(int num1, int num2)처럼 매개변수를 통해 다양한 값을 처리할 수 있습니다.
- method3(int start, int end)는 주어진 범위에 대해 합을 구하는 기능을 수행합니다.
3. 매개변수가 있고, 리턴값이 있는 메소드
메소드는 값을 반환할 수도 있습니다. 이는 계산된 값을 다른 곳에서 사용할 수 있게 해줍니다. 반환값은 return을 통해 전달됩니다.
코드 예시
public class Method3 {
public static int method1(int num) {
return num;
}
public static int method2() {
int num = (int)(Math.random() * 45 + 1);
return num;
}
public static int[] getJumsu() {
int[] num = {90, 80, 100, 60, 70};
return num;
}
public static void main(String[] args) {
int result = method1(10); // 10을 반환받음
System.out.println(result); // 10 출력
int random = method2(); // 랜덤 값 반환
System.out.println("랜덤한 수 : " + random);
int[] jumsu = getJumsu(); // 점수 배열 반환
for (int j : jumsu) {
System.out.print(j + " "); // 점수 출력
}
}
}
핵심 포인트
- method1()은 매개변수로 받은 값을 그대로 반환합니다.
- method2()는 1부터 45까지의 랜덤한 값을 반환합니다.
- getJumsu()는 배열을 반환하여 여러 값을 반환할 수 있는 방법을 보여줍니다.
4. Static 메소드
static이 붙은 메소드는 객체 생성 없이 호출할 수 있는 메소드입니다. 주로 클래스 단위로 호출하고자 할 때 사용합니다.
Static 메소드 특징
- static이 없는 메소드는 객체를 생성하여 호출해야 합니다. 예를 들어 Scanner sc = new Scanner(System.in);와 같이 객체를 만들어야만 메소드를 호출할 수 있습니다.
- static이 붙은 메소드는 객체를 생성하지 않고, 클래스 이름을 통해 바로 호출할 수 있습니다. 예를 들어 Math.random()은 Math 클래스에서 객체 생성 없이 호출할 수 있습니다.
Static 메소드 예시
public class Example {
public static void main(String[] args) {
// static 메소드 호출
System.out.println(Math.random()); // Math 클래스의 static 메소드 호출
}
}
핵심 포인트
- static을 사용하면 객체를 생성하지 않고도 메소드를 사용할 수 있습니다.
- 그러나 static 메소드를 남용하면 프로그램이 비효율적으로 실행될 수 있기 때문에, 적절히 사용하는 것이 중요합니다.
메소드는 코드의 재사용성을 높이고, 프로그램을 효율적이고 체계적으로 작성하는 데 중요한 역할을 합니다. 매개변수와 리턴값을 활용하여 다양한 기능을 구현하고, static 메소드를 활용하면 객체 생성 없이도 클래스를 통해 간단히 기능을 수행할 수 있습니다. 또한, 메소드를 활용하여 코드를 모듈화하고, 가독성을 높일 수 있습니다.
메소드를 잘 활용하면 프로그램의 유지보수와 확장성도 용이해집니다. 이제 여러 종류의 메소드를 자유롭게 사용하여 Java 프로그래밍을 더 효율적으로 다뤄 보세요!