메서드는 클래스의 내부에 존재하는 영역으로 특정 기능을 하는 코드를 묶어서 나타내는 것이다.
즉, 특정 기능을 수행하기 위한 코드들의 집합체이며 특정 기능을 수행한다는 것은 데이터를 입력받아 해당 데이터를 일련의 처리 과정을 통해 만들어진 결과값을 반환하는 것을 의미한다.
// Class
public class Main {
// Method
public static void main(String[] args) {
}
}
메서드는 다른 언어의(C, C++)의 함수 개념과 매우 비슷한데 이 둘의 차이점은 함수는 특정 기능을 수행하는 코드들을 묶은 것이고, 메서드는 클래스 내에 포함되어 있는 함수라고 이해할 수 있다.
종종 자바 언어를 개발하면서 함수라고도 많이 하는데 자바는 객체지향 언어이며 모든 코드를 클래스 내에 작성하기 때문에 메서드라는 용어를 사용해 구분 짓는 것이 좋다.
/*
반환타입 메서드이름(매개변수타입 매개변수이름) {
메서드 바디
}
*/
void mian(String[] args) {
// 내용
}
()
를 통해 매개변수 타입과 이름을 공백으로 구분하여 지정메서드 예시(두 정수의 합)
int add(int num1, int num2) {
return num1 + num2;
}
/*
반환타입 메서드이름(매개변수타입 매개변수이름) {
메서드 바디
}
*/
메서드 반환 타입 int: 메서드 바디에서 return시 반환되는 값의 타입이 정수형이다.
메서드 이름 add: 메서드 이름을 정의한 것으로, 더한다는 의미의 add로 지정
메서드이름은 뜻이 있는 단어로 지정하는것이 좋다.
매개변수 타입 int: 매개변수의 타입은 정수형으로 정수로 된 숫자를 입력받는다.
매개변수 이름 num1, num2: 매개변수의 이름을 정의한 것으로 숫자의 의미를 갖는 num 지정한다.
메서드는 정의하는 것만으로 실행되지 않는다
메서드를 정의하는 것은 단순히 동작에 대한 처리 과정을 기술한 것이다.
/*
메서드이름(값1, 값2, ...)
*/
method(value1, value2, ...)
add(5,10);
메서드 add의 매개변수는 2개로 지정해 작성했기에 호출할 때에도 2개의 값을 지정해주어야 한다.
5와 10을 넣음으로써 num1=5, num2=10이라는 정수 값이 임시적으로 저장된 후 5+10 연산이 수행되 반환 값 15인 데이터를 리턴한다.
처음 메서드를 소개할 때 나타내는 코드를 메인 메서드라 한다
public static void main(String[] args) {
}
메인 메서드는 자바로 작성한 소스 코드 파일을 실행하면 가장 먼저 실행되는 메서드이며
자바로 만들어진 애플리케이션이나 프로그램을 실행하면 main 메서드의 코드부터 호출되어 기능을 동작하는 것이다
이를 진입점 함수라하고
자바의 메인 메서드는 진입점 함수로 자바로 프로그래밍할 때 반드시 메인 메서드가 필요하다.