김코딩

자바 - 메서드 본문

Java

자바 - 메서드

김코딩딩 2025. 2. 26. 23:26

메서드

자바에서는 함수를 메서드(Method)라 한다.

메서드도 함수의 한 종류라고 생각하면 된다. 

 

package method.ex;

public class MethodEx1 {
    public static void main(String[] args) {
        int sum1 = add(5, 10);
        System.out.println("결과1 출력: " + sum1);

        int sum2 = add(15, 20);
        System.out.println("결과2 출력: " + sum2);
    }

    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) {
    System.out.println(a + " + " + b + " 연산 수행");
    int sum = a + b;
    return sum;
}

 

이 부분이 바로 메서드이다. 이것을 함수를 정의하는 것과 같이, 메서드를 정의한다고 표현한다

 

메서드는 크게 메서드 선언메서드 본문으로 나눌 수 있다.

 

메서드 선언(Method Declaration)

public static int add(int a, int b) 메서드의 선언 부분으로, 메서드 이름, 반환 타입, 매개변수(파라미터) 목록을 포함한다.

 

  • public static

public : 다른 클래스에서 호출할 수 있는 메서드라는 뜻이다. 접근 제어에서 학습한다. 

static : 객체를 생성하지 않고 호출할 수 있는 정적 메서드라는 뜻이다. 자세한 내용은 뒤에서 다룬다. 두 키워드의 자세한 내용은 뒤에서 다룬다. 지금은 단순하게 메서드를 만들 때 둘을 사용해야 한다고 생각하 자.

  • int add(int a, int b)

int : 반환 타입을 정의한다. 메서드의 실행 결과를 반환할 때 사용할 반환 타입을 지정한다.

add : 메서드에 이름을 부여한다. 이 이름으로 메서드를 호출할 수 있다.

(int a, int b) : 메서드를 호출할 때 전달하는 입력 값을 정의한다. 이 변수들은 해당 메서드 안에서만 사용된다. 이렇게 메서드 선언에 사용되는 변수를 영어로 파라미터(parameter), 한글로 매개변수라 한다.

 

메서드 본문(Method Body)

{
    System.out.println(a + " + " + b + " 연산 수행");
    int sum = a + b;
    return sum;
}
  • 메서드가 수행해야 하는 코드 블록이다.
  • 메서드를 호출하면 메서드 본문이 순서대로 실행된다.
  • 메서드 본문은 블랙박스이다. 메서드를 호출하는 곳에서는 메서드 선언은 알지만 메서드 본문은 모른다.
  • 메서드의 실행 결과를 반환하려면 return 문을 사용해야 한다. return 문 다음에 반환할 결과를 적어주면 된다.

메서드 정의

public static int add(int a, int b) {
    //메서드 본문, 실행 코드
}
제어자 반환타입 메서드이름(매개변수 목록) {
    메서드 본문
}
  • 제어자(Modifier): public , static 과 같은 부분이다. 제어자는 뒤에서 설명한다. 지금은 항상 public static 키워드를 입력하자.
  • 반환 타입(Return Type): 메서드가 실행 된 후 반환하는 데이터의 타입을 지정한다. 메서드가 값을 반환하지 않 는 경우, 없다는 뜻의 void 를 사용해야 한다. 예) void print(String str)
  • 메서드 이름(Method Name): 메서드의 이름이다. 이 이름은 메서드를 호출하는 데 사용된다.
  • 매개변수(Parameter): 입력 값으로, 메서드 내부에서 사용할 수 있는 변수이다. 매개변수는 옵션이다. 입력값이 필요 없는 메서드는 매개변수를 지정하지 않아도 된다. 예) add()
  • 메서드 본문(Method Body): 실제 메서드의 코드가 위치한다. 중괄호 {} 사이에 코드를 작성한다.

매개변수가 없거나 반환 타입이 없는 경우

package method;
public class Method2 {
    public static void main(String[] args) {
        printHeader();
        System.out.println("프로그램이 동작합니다.");
        printFooter();
    }
    public static void printHeader() {
        System.out.println("= 프로그램을 시작합니다 =");
        return; //void의 경우 생략 가능
    }
    public static void printFooter() {
        System.out.println("= 프로그램을 종료합니다 =");
    }
}

printHeader() , printFooter() 메서드는 매개변수가 없고, 반환 타입도 없다.

  • 매개변수가 없는 경우

선언: public static void printHeader() 와 같이 매개변수를 비워두고 정의하면 된다.

호출: printHeader(); 와 같이 인수를 비워두고 호출하면 된다.

  • 반환 타입이 없는 경우

선언: public static void printHeader() 와 같이 반환 타입을 void 로 정의하면 된다.

호출: printHeader(); 와 같이 반환 타입이 없으므로 메서드만 호출하고 반환 값을 받지 않으면 된다. String str = printHeader(); 반환 타입이 void 이기 때문에 이렇게 반환 값을 받으면 컴 파일 오류가 발생한다. void와 return 생략 모든 메서드는 항상 return 을 호출해야 한다. 그런데 반환 타입 void 의 경우에는 예외로 printFooter() 와 같 이 생략해도 된다. 자바가 반환 타입이 없는 경우에는 return 을 마지막줄에 넣어준다. 참고로 return 을 만나면 해 당 메서드는 종료된다

 

반환 타입

반환 타입이 있으면 반드시 값을 반환해야 한다.

반환 타입이 있는 메서드는 반드시 return 을 사용해서 값을 반환해야 한다.

 

return 문을 만나면 그 즉시 메서드를 빠져나간다.

return 문을 만나면 그 즉시 해당 메서드를 빠져나간다.

 

'Java' 카테고리의 다른 글

자바 - 다형성1  (0) 2025.04.01
자바 - 반복문  (0) 2025.01.31
자바 - Scanner  (1) 2024.04.25
자바 - 형변환  (0) 2024.04.25