반응형
메서드 — 코드를 재사용 가능한 블록으로 만들기
같은 코드를 여러 번 복사해서 쓰는 건 번거롭고 실수하기도 쉬워요.
메서드를 쓰면 코드 블록에 이름을 붙여두고 필요할 때마다 꺼내 쓸 수 있어요! 🧩
📌 이 글에서 다룰 내용
- 메서드란 무엇인가?
- 메서드 만들고 호출하기
- 매개변수와 반환값
- 메서드 오버로딩
- 실습 — BMI 계산기 만들기
1. 메서드란 무엇인가?
메서드는 특정 작업을 수행하는 코드 묶음이에요.
우리가 이미 써온 System.out.println(), scanner.nextInt() 도 모두 메서드예요.
이번엔 우리가 직접 만들어볼게요!
2. 메서드 만들고 호출하기
메서드는 클래스 안에 선언해요.
반환타입 메서드이름(매개변수) {
// 실행할 코드
}
반환값이 없으면 void 를 써요.
public class HelloMethod {
static void sayHello() {
System.out.println("안녕하세요!");
System.out.println("자바 블로그에 오신 걸 환영해요!");
}
public static void main(String[] args) {
sayHello(); // 메서드 호출
sayHello(); // 여러 번 재사용 가능!
}
}
안녕하세요!
자바 블로그에 오신 걸 환영해요!
안녕하세요!
자바 블로그에 오신 걸 환영해요!
3. 매개변수와 반환값
매개변수 — 메서드에 값 전달하기
static void greet(String name) {
System.out.println("안녕하세요, " + name + "님!");
}
public static void main(String[] args) {
greet("홍길동"); // 안녕하세요, 홍길동님!
greet("김철수"); // 안녕하세요, 김철수님!
}
매개변수가 여러 개일 때는 쉼표로 구분해요.
static void introduce(String name, int age) {
System.out.println("저는 " + name + "이고 " + age + "살이에요.");
}
반환값 — 결과값 돌려주기
계산 결과를 돌려주려면 return 을 써요.
static int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int result = add(3, 5);
System.out.println("결과: " + result); // 결과: 8
}
💡 반환 타입과
return값의 자료형이 일치해야 해요.int를 반환하는 메서드에서String을 리턴하면 오류가 나요.
4. 메서드 오버로딩
같은 이름의 메서드를 매개변수를 다르게 해서 여러 개 만들 수 있어요.
이걸 오버로딩(Overloading) 이라고 해요.
static int add(int a, int b) {
return a + b;
}
static double add(double a, double b) {
return a + b;
}
static int add(int a, int b, int c) {
return a + b + c;
}
public static void main(String[] args) {
System.out.println(add(3, 5)); // 8
System.out.println(add(1.5, 2.3)); // 3.8
System.out.println(add(1, 2, 3)); // 6
}
자바가 매개변수의 자료형과 개수를 보고 알아서 맞는 메서드를 호출해요!
5. 실습 — BMI 계산기 만들기
BmiCalculator.java 파일을 만들고 아래 코드를 작성해요.
import java.util.Scanner;
public class BmiCalculator {
static double calculateBmi(double weight, double height) {
return weight / (height * height);
}
static String getStatus(double bmi) {
if (bmi < 18.5) {
return "저체중";
} else if (bmi < 23.0) {
return "정상";
} else if (bmi < 25.0) {
return "과체중";
} else {
return "비만";
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("몸무게(kg): ");
double weight = scanner.nextDouble();
System.out.print("키(m, 예: 1.75): ");
double height = scanner.nextDouble();
double bmi = calculateBmi(weight, height);
String status = getStatus(bmi);
System.out.printf("%nBMI: %.2f%n", bmi);
System.out.println("판정: " + status);
scanner.close();
}
}
오늘 배운 것 정리
- ✅ 메서드는
반환타입 메서드이름(매개변수)형태로 선언해요. - ✅ 반환값이 없으면
void, 있으면 해당 자료형을 명시해요. - ✅
return으로 계산 결과를 돌려줄 수 있어요. - ✅ 오버로딩으로 같은 이름의 메서드를 매개변수만 다르게 만들 수 있어요.
🎯 다음 편 예고
9편에서는 자바의 핵심 클래스와 객체 를 배워요.
객체 지향 프로그래밍의 첫걸음을 같이 떼봐요!
이 글이 도움이 됐다면 다음 편도 같이 읽어봐요 😊 질문이 있으면 언제든지 댓글로 남겨주세요!
'프로그래밍 언어 > Java' 카테고리의 다른 글
| 자바 미니 프로젝트 — 자바로 도서 관리 프로그램 만들기(Java 기초) (1) | 2026.03.22 |
|---|---|
| 자바 클래스 Class와 객체 인스턴스 instance — 객체 지향 프로그래밍 첫걸음(Java 기초) (0) | 2026.03.22 |
| 자바 배열과 ArrayList — 데이터를 묶어서 관리하기(Java 기초) (1) | 2026.03.21 |
| 자바 반복문 for문 — for와 while로 반복 작업 처리하기(Java 기초) (0) | 2026.03.20 |
| 조건문 if문 — if와 switch로 상황에 맞게 분기하기(Java 기초) (0) | 2026.03.20 |