
* 개념 복습과 학습 정도를 파악하고자 포스팅합니다!
* Claude, ChatGPT를 활용하여 이미지를 생성하고 활용합니다.
Java 메서드
1. 메서드???
특정 기능을 수행하는 코드 블록에 붙인 것.
클래스 안에 정의되고, 필요할 때 마다 호출해서 재사용할 수 있습니다.
메서드가 없다면 같은 코드를 여러 번 반복해서 써야 해요..
메서드로 묶어두면 한 번만 작성하고 여러 곳에서 호출할 수 있어요!!

2. 메서드 구조
int add (int a, int b) {return a + b;)
(반환타입) (메서드명) (매개변수) (메서드 바디)
반환타입
메서드가 작업을 마친 뒤 호출한 곳으로 돌려주는 값의 타입입니다.

매개변수와 인자
매개변수(Parameter)는 메서드를 정의할 때 쓰는 변수고, 인자(Argument)는 메서드를 호출할 때 실제로 넘기는 값이에요. 인자의 값이 매개변수로 복수됩니다.

3. 메서드 호출 흐름

4. 메서드 종류
매개변수 / 반환값에 따른 4가지 조합
// 1. 매개변수 없음, 반환값 없음
void sayHello() {
System.out.println("안녕하세요!");
}
// 2. 매개변수 있음, 반환값 없음
void printName(String name) {
System.out.println("이름: " + name);
}
// 3. 매개변수 없음, 반환값 있음
int getYear() {
return 2025;
}
// 4. 매개변수 있음, 반환값 있음 (가장 일반적)
int add(int a, int b) {
return a + b;
}
5. return의 두 가지 역할
// 역할 1: 값을 반환
int add(int a, int b) {
return a + b; // 계산 결과를 반환하고 메서드 종료
}
// 역할 2: 메서드 중간에서 즉시 종료 (void에서)
void checkAge(int age) {
if (age < 0) {
System.out.println("잘못된 나이입니다.");
return; // 여기서 메서드 즉시 종료
}
System.out.println("나이: " + age);
}
6. this 키워드
현재 객체 자신을 가리키는 참조.
매개변수 이름과 필드 이름이 같을 때 구분하기 위해 사용합니다.

public class Person {
String name;
int age;
// this로 필드와 매개변수 구분
void setInfo(String name, int age) {
this.name = name; // this.name = 필드, name = 매개변수
this.age = age;
}
// this로 자신의 다른 메서드 호출
void introduce() {
System.out.println("이름: " + this.name);
this.printAge(); // 자신의 다른 메서드 호출
}
void printAge() {
System.out.println("나이: " + this.age);
}
}
7. 메서드 오버로딩(Overloading)
같은 이름의 메서드를 매개변수의 타입이나 개수를 다르게 해서 여러개 정의하는 것입니다.

public class Calculator {
// 정수 2개
int add(int a, int b) {
return a + b;
}
// 실수 2개 — 타입이 다름
double add(double a, double b) {
return a + b;
}
// 정수 3개 — 개수가 다름
int add(int a, int b, int c) {
return a + b + c;
}
}
// 호출 시 Java가 알아서 맞는 메서드 선택
Calculator calc = new Calculator();
calc.add(3, 5); // int add(int, int) 호출
calc.add(1.5, 2.5); // double add(double, double) 호출
calc.add(1, 2, 3); // int add(int, int, int) 호출
8. 값 전달 vs 참조 전달
Java는 항상 값(Value)을 복사해서 전달.
기본 타입과 참조 타입의 동작이 달라서 헷갈리기 쉽습니다.

기본 타입(int, double 등)은 값 자체가 복사되어서 메서드 안에서 바꿔도 원본이 안 바뀌죠. 참조 타입(객체)은 주소가 복사되어서 같은 객체를 가리키게 되고, 메서드 안에서 필드를 바꾸면 원본에 영향을 줍니다.
정리

벌써 메서드까지 정리를 해부렀네요!! 이제 한 반의 반절온거 같아요..!
복습 개념으로 시작한 개념 정리 포스팅이 쌓이기 시작하니 매우매우 뿌듯하네요 ㅎ
다음 포스팅으로 찾아뵙겠습니다!
감사합니다 :)
'Language > Java' 카테고리의 다른 글
| [Java] 상속 완전히 정리해버리기 (0) | 2026.04.22 |
|---|---|
| [Java] 생성자 & 캡슐화 완전히 정리해버리기 (0) | 2026.04.22 |
| [Java] 클래스와 객체 (0) | 2026.04.20 |
| [Java] 자바는 입력을 어떻게 받아? - Scanner (0) | 2026.04.20 |
| [Java] 형변환(Type Casting) (0) | 2026.04.20 |