Java

[Java] 메소드의 중요성

에띠 2022. 4. 12. 12:03
728x90

메소드는 프로그램에서 중요한 역할을 합니다. 메소드는 코드를 재활용하고, 중복을 줄여 코드를 효율적으로 작성할 수 있게 도와줍니다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있으며, 프로그램의 성능 향상에도 기여할 수 있습니다. 오늘은 메소드의 기본 개념사용법에 대해 다뤄보겠습니다. 다양한 형태의 메소드를 살펴보고, 실제로 어떻게 활용되는지 알아보겠습니다.


 

메소드의 종류와 활용

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 프로그래밍을 더 효율적으로 다뤄 보세요!

728x90