
메서드는 다음과 같이 정의한다.
public static int add(int a, int b) {
// 메서드 본문, 실행 코드
}
제어자 반환타입 메서드이름(매개변수 목록) {
메서드 본문
}
public, static과 같은 부분이다.void를 사용해야 한다.void print(String str)add(){}) 사이에 코드를 작성한다.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("= 프로그램을 종료합니다 =");
return;
}
}

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