메소드에는 메소드 헤더와 메소드 본문이 포함됩니다. 메소드의 모든 부분은 다음과 같습니다.
수정자: 선택적인 수정자는 컴파일러에 메서드 호출 방법을 알려줍니다. 이 메소드에 대한 액세스 유형을 정의합니다.
반환 값 유형: 메서드는 값을 반환할 수 있습니다. returnValueType은 메소드 반환 값의 데이터 유형입니다. 일부 메서드는 필요한 작업을 수행하지만 값을 반환하지 않습니다. 이 경우 returnValueType은 키워드 void입니다.
메소드 이름: 메소드의 실제 이름입니다. 메소드 이름과 매개변수 목록이 함께 메소드 서명을 구성합니다.
매개변수 유형: 매개변수는 자리 표시자와 같습니다. 메소드가 호출되면 값이 매개변수로 전달됩니다. 이 값을 실제 매개변수 또는 변수라고 합니다. 매개변수 목록은 메소드의 매개변수 유형, 매개변수 순서 및 개수를 나타냅니다. 매개변수는 선택사항이며 메소드에는 매개변수가 포함될 수 없습니다.
메서드 본문: 메서드 본문에는 메서드의 기능을 정의하는 특정 문이 포함되어 있습니다.
좋다:
공개 정적 int 나이(int 생일){...} 여러 매개변수가 있을 수 있습니다.
정적 부동 이자(부동 원금, int 연도){...} 참고: 일부 다른 언어에서는 메소드가 프로시저 및 기능을 의미합니다. void가 아닌 반환 값을 반환하는 메서드를 함수라고 하며, void 반환 값을 반환하는 메서드를 프로시저라고 합니다.
예제 아래 메소드에는 2개의 매개변수 num1과 num2가 포함되어 있으며 이 두 매개변수의 최대값을 반환합니다.
/** 두 개의 정수 변수 중 더 큰 값을 반환합니다. data*/public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1 return result;Java에서 메소드는 다른 언어, 특히 C 및 C++와 유사한 방식으로 정의됩니다. 정의의 일반적인 형식은 다음과 같습니다.
<수정자><반환 유형><이름>(<매개변수 목록>)<블록>
그 중 <name>은 메소드 이름으로, 반드시 유효한 식별자를 사용해야 합니다.
<return type>은 메서드 반환 값의 유형을 지정합니다. 메소드가 어떤 값도 반환하지 않으면 void로 선언해야 합니다.
Java에는 반환 값에 대한 엄격한 요구 사항이 있습니다. 메서드 반환 값은 지정된 유형과 일치해야 합니다. 메서드 사양에 int와 같은 반환 값이 있는 경우 해당 메서드는 명령문 분기에서 반환할 때 정수 값을 반환해야 합니다.
<modifier> 섹션에는 여러 가지 다른 수정자가 포함될 수 있으며, 그중 액세스 권한을 제한하는 수정자에는 public, protected 및 private이 포함됩니다. public 액세스 한정자는 해당 메서드가 다른 코드에서 호출될 수 있음을 의미하고, private은 해당 메서드가 클래스의 다른 메서드에서만 호출될 수 있음을 의미합니다.
<매개변수 목록>은 메소드에 전달되는 매개변수 목록입니다. 테이블의 요소는 쉼표로 구분되며 각 요소는 유형과 식별자로 구성됩니다.
<Block>은 실제로 실행될 코드 세그먼트인 메소드 본문을 나타냅니다.
예제에서는 Customer 클래스에 대해 setName() 및 setAddress() 메서드가 정의되어 있습니다.
예:
void setName(문자열 이름){ this. 이름=이름; } 문자열 getAddress()} 반환 주소 }다음으로 Date 클래스에 dayslnMonth() 및 printDate() 메서드를 추가하여 Date 클래스를 개선합니다.