📘 메서드와 매개변수
메서드는 반복되는 코드를 하나로 묶어 재사용할 수 있게 도와주는 기능입니다. 매개변수 전달, 리턴값 반환, 메서드 오버로딩 등 핵심 개념을 익혀보세요!
📌 목차
- 메서드란?
- 메서드 선언과 호출
- 리턴값과 매개변수
- 메서드 오버로딩
🔹 1. 메서드란?
메서드는 특정 작업을 수행하는 코드 블록입니다. 메서드를 사용하면 프로그램의 유지보수성이 좋아지고, 중복 코드를 제거할 수 있습니다.
자바에서는 클래스 내부에 정의된 함수들을 "메서드"라고 부르며, 이들은 특정 입력값을 받아 계산을 수행하고, 결괏값을 반환할 수도 있습니다. 모든 메서드는 다음과 같은 구조를 가집니다:
리턴타입 메서드이름(매개변수) {
// 실행할 코드
}
예: public static int square(int x)는 정수를 받아 제곱값을 반환하는 메서드입니다.
🔹 2. 메서드 선언과 호출
메서드는 선언한 후 호출해야 실행됩니다. 선언은 메서드의 기능을 정의하고, 호출은 그 기능을 실제로 사용합니다.
// 메서드 선언
public static void greet() {
System.out.println("Hello, Java!");
}
// 메서드 호출
greet(); // 출력: Hello, Java!
위 예제에서 greet() 메서드는 리턴값이 없는(void) 간단한 출력 메서드입니다. 선언부는 메인 메서드 밖에 위치시키고, 호출은 메인 메서드 안에서 수행합니다.
메서드는 이름을 의미 있게 지어야 하며, 한 가지 일만 하도록 설계하는 것이 좋습니다.
🔹 3. 리턴값과 매개변수
✔️ 매개변수(Parameter) 사용
메서드는 매개변수를 통해 외부로부터 값을 받아올 수 있습니다. 이렇게 받은 값을 내부에서 사용할 수 있습니다.
public static void greetUser(String name) {
System.out.println("Hello, " + name);
}
greetUser("Alice"); // 출력: Hello, Alice
name은 문자열 타입의 매개변수이며, 호출 시 "Alice"를 넘겨주면 해당 값이 출력됩니다. 여러 매개변수도 전달할 수 있습니다.
✔️ 리턴값(Return value)
메서드는 계산 결과나 상태 값을 리턴값으로 돌려줄 수 있습니다. 이때 리턴타입은 반드시 명시되어야 하며, return 키워드로 값을 반환합니다.
public static int add(int a, int b) {
return a + b;
}
int result = add(3, 5); // result = 8
리턴값을 이용하면 메서드의 결과를 다른 변수에 저장하거나 연산에 활용할 수 있어 프로그램이 더욱 유연해집니다.
※ void는 리턴값이 없는 경우에 사용합니다.
🔹 4. 메서드 오버로딩
오버로딩(Overloading)은 같은 이름의 메서드를 매개변수의 타입이나 개수에 따라 여러 형태로 정의할 수 있는 기능입니다.
public static int multiply(int a, int b) {
return a * b;
}
public static double multiply(double a, double b) {
return a * b;
}
System.out.println(multiply(2, 3)); // 6
System.out.println(multiply(2.5, 3.0)); // 7.5
위 코드에서 multiply 메서드는 두 가지 버전이 있습니다. 정수형 버전과 실수형 버전이 각각 정의되어 있어, 어떤 인수를 전달하느냐에 따라 자동으로 해당 메서드가 호출됩니다.
오버로딩은 코드의 일관성을 유지하고, 가독성을 높이는 데 매우 유용합니다. 단, 매개변수 이름만 다른 경우는 오버로딩이 성립하지 않습니다.
🔚 마무리
이번 강의에서는 자바의 메서드에 대해 기초부터 오버로딩까지 핵심 개념을 다루었습니다. 메서드는 프로그램을 효율적으로 구성하는 데 매우 중요하며, 코드 재사용과 모듈화를 위한 필수 요소입니다.
- 메서드는 입력(매개변수)을 받아 로직을 수행한 후, 출력(리턴값)을 반환할 수 있습니다.
- 동일한 기능을 반복적으로 사용할 때는 메서드를 정의하여 유지보수를 쉽게 만드세요.
- 메서드 오버로딩을 활용하면 하나의 이름으로 다양한 동작을 구현할 수 있습니다.
다음 강의에서는 클래스와 객체 개념을 다루며, 자바의 객체지향 프로그래밍 본격적으로 학습해봅니다!
'Programming' 카테고리의 다른 글
| JAVA 패키지와 접근제한자 (38) | 2025.11.16 |
|---|---|
| JAVA 클래스와 객체 (45) | 2025.11.15 |
| JAVA 배열과 컬렉션 기초 (55) | 2025.11.13 |
| JAVA 조건문과 반복문 (74) | 2025.11.12 |
| JAVA 기본 문법과 데이터 타입 (58) | 2025.11.11 |