자바에서 메소드(method)는 특정 작업을 수행하는 코드 블록으로, 프로그램 내에서 재사용 가능한 기능을 정의한다. 메소드는 객체지향 프로그래밍에서 중요한 역할을 하며, 메소드를 사용하면 코드의 가독성과 유지보수성이 향상된다.
자바 메소드는 다음과 같은 구조로 구성된다:
public [리턴타입] [메소드명]([매개변수]) {
// 메소드의 몸체
// 수행할 코드
return [리턴값]; // 리턴 타입이 void가 아니면 반드시 값을 반환해야 함
}
public class Calculator {
// 두 수의 합을 계산하는 메소드
public int add(int a, int b) {
int sum = a + b;
return sum;
}
// 프로그램의 실행을 위한 메인 메소드
public static void main(String[] args) {
// Calculator 객체 생성
Calculator calc = new Calculator();
// add 메소드 호출
int result = calc.add(5, 3);
// 결과 출력
System.out.println("5와 3의 합은: " + result);
}
}
public: 접근 제어자로, 이 메소드를 다른 클래스에서 호출할 수 있음을 의미한다.int: 메소드가 반환하는 데이터 타입. 이 메소드는 int 타입의 값을 반환한다.add: 메소드 이름. 메소드를 호출할 때 사용된다.(int a, int b): 메소드가 입력받는 두 개의 정수 매개변수이다.a와 b를 더한 값을 sum에 저장하고, 그 결과를 return으로 반환한다.int는 정수를, void는 반환값이 없음을 의미한다.int a, int b는 두 개의 정수 값을 입력받는 매개변수이다.cal.add(5.3)은 calc 객체가 add 메소드를 호출하면서 5와 3을 매개변수로 전달한 것이다.만약 메소드가 값을 반환할 필요가 없다면, 반환 타입을 void로 선언한다. 예를 들어:
public void printMessage() {
System.out.println("Hello, World!");
}
자바에서는 같은 이름의 메소드를 여러 개 정의할 수 있으며, 이를 메소드 오버로딩이라고 한다.
단, 매개변수의 개수나 타입이 달라야 한다.
public class Calculator {
// 두 수의 합을 계산하는 메소드
public int add(int a, int b) {
return a + b;
}
// 세 수의 합을 계산하는 메소드 (오버로딩)
public int add(int a, int b, int c) {
return a + b + c;
}
}
void는 반환값이 없는 메소드를 의미한다.