| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 빌더 패턴
- Spring Batch
- Effective Java
- 백엔드
- 트러블슈팅
- 계산기
- 이펙티브 자바
- Til
- java
- 토스
- GoF 23
- 스프링
- Spring
- redis
- 자바
- DB
- 스케줄러
- 추상클래스
- 스프링 배치
- 프록시 패턴
- 템플릿 메서드 패턴
- 배치
- 프로그래머스
- 디자인 패턴
- 김영한
- 로드밸런서
- lv1
- 코드카타
- 성능 개선
- spring boot
- Today
- Total
김코딩
자바 - 메서드 본문
메서드
자바에서는 함수를 메서드(Method)라 한다.
메서드도 함수의 한 종류라고 생각하면 된다.
package method.ex;
public class MethodEx1 {
public static void main(String[] args) {
int sum1 = add(5, 10);
System.out.println("결과1 출력: " + sum1);
int sum2 = add(15, 20);
System.out.println("결과2 출력: " + sum2);
}
public static int add(int a, int b) {
System.out.println(a + " + " + b + " 연산 수행");
int sum = a + b;
return sum;
}
}

메서드 정의
public static int add(int a, int b) {
System.out.println(a + " + " + b + " 연산 수행");
int sum = a + b;
return sum;
}
이 부분이 바로 메서드이다. 이것을 함수를 정의하는 것과 같이, 메서드를 정의한다고 표현한다
메서드는 크게 메서드 선언과 메서드 본문으로 나눌 수 있다.
메서드 선언(Method Declaration)
public static int add(int a, int b) 메서드의 선언 부분으로, 메서드 이름, 반환 타입, 매개변수(파라미터) 목록을 포함한다.
- public static
public : 다른 클래스에서 호출할 수 있는 메서드라는 뜻이다. 접근 제어에서 학습한다.
static : 객체를 생성하지 않고 호출할 수 있는 정적 메서드라는 뜻이다. 자세한 내용은 뒤에서 다룬다. 두 키워드의 자세한 내용은 뒤에서 다룬다. 지금은 단순하게 메서드를 만들 때 둘을 사용해야 한다고 생각하 자.
- int add(int a, int b)
int : 반환 타입을 정의한다. 메서드의 실행 결과를 반환할 때 사용할 반환 타입을 지정한다.
add : 메서드에 이름을 부여한다. 이 이름으로 메서드를 호출할 수 있다.
(int a, int b) : 메서드를 호출할 때 전달하는 입력 값을 정의한다. 이 변수들은 해당 메서드 안에서만 사용된다. 이렇게 메서드 선언에 사용되는 변수를 영어로 파라미터(parameter), 한글로 매개변수라 한다.
메서드 본문(Method Body)
{
System.out.println(a + " + " + b + " 연산 수행");
int sum = a + b;
return sum;
}
- 메서드가 수행해야 하는 코드 블록이다.
- 메서드를 호출하면 메서드 본문이 순서대로 실행된다.
- 메서드 본문은 블랙박스이다. 메서드를 호출하는 곳에서는 메서드 선언은 알지만 메서드 본문은 모른다.
- 메서드의 실행 결과를 반환하려면 return 문을 사용해야 한다. return 문 다음에 반환할 결과를 적어주면 된다.
메서드 정의
public static int add(int a, int b) {
//메서드 본문, 실행 코드
}
제어자 반환타입 메서드이름(매개변수 목록) {
메서드 본문
}
- 제어자(Modifier): public , static 과 같은 부분이다. 제어자는 뒤에서 설명한다. 지금은 항상 public static 키워드를 입력하자.
- 반환 타입(Return Type): 메서드가 실행 된 후 반환하는 데이터의 타입을 지정한다. 메서드가 값을 반환하지 않 는 경우, 없다는 뜻의 void 를 사용해야 한다. 예) void print(String str)
- 메서드 이름(Method Name): 메서드의 이름이다. 이 이름은 메서드를 호출하는 데 사용된다.
- 매개변수(Parameter): 입력 값으로, 메서드 내부에서 사용할 수 있는 변수이다. 매개변수는 옵션이다. 입력값이 필요 없는 메서드는 매개변수를 지정하지 않아도 된다. 예) add()
- 메서드 본문(Method Body): 실제 메서드의 코드가 위치한다. 중괄호 {} 사이에 코드를 작성한다.
매개변수가 없거나 반환 타입이 없는 경우
package method;
public class Method2 {
public static void main(String[] args) {
printHeader();
System.out.println("프로그램이 동작합니다.");
printFooter();
}
public static void printHeader() {
System.out.println("= 프로그램을 시작합니다 =");
return; //void의 경우 생략 가능
}
public static void printFooter() {
System.out.println("= 프로그램을 종료합니다 =");
}
}
printHeader() , printFooter() 메서드는 매개변수가 없고, 반환 타입도 없다.
- 매개변수가 없는 경우
선언: public static void printHeader() 와 같이 매개변수를 비워두고 정의하면 된다.
호출: printHeader(); 와 같이 인수를 비워두고 호출하면 된다.
- 반환 타입이 없는 경우
선언: public static void printHeader() 와 같이 반환 타입을 void 로 정의하면 된다.
호출: printHeader(); 와 같이 반환 타입이 없으므로 메서드만 호출하고 반환 값을 받지 않으면 된다. String str = printHeader(); 반환 타입이 void 이기 때문에 이렇게 반환 값을 받으면 컴 파일 오류가 발생한다. void와 return 생략 모든 메서드는 항상 return 을 호출해야 한다. 그런데 반환 타입 void 의 경우에는 예외로 printFooter() 와 같 이 생략해도 된다. 자바가 반환 타입이 없는 경우에는 return 을 마지막줄에 넣어준다. 참고로 return 을 만나면 해 당 메서드는 종료된다
반환 타입
반환 타입이 있으면 반드시 값을 반환해야 한다.
반환 타입이 있는 메서드는 반드시 return 을 사용해서 값을 반환해야 한다.
return 문을 만나면 그 즉시 메서드를 빠져나간다.
return 문을 만나면 그 즉시 해당 메서드를 빠져나간다.
'Java' 카테고리의 다른 글
| 자바 - 다형성1 (0) | 2025.04.01 |
|---|---|
| 자바 - 반복문 (0) | 2025.01.31 |
| 자바 - Scanner (1) | 2024.04.25 |
| 자바 - 형변환 (0) | 2024.04.25 |