자바에서 메서드는 객체 지향 프로그래밍의 핵심 요소 중 하나입니다. 이 글에서는 메서드의 개념과 작성 방법, 그리고 예제를 통해 자바 메서드의 활용법을 자세히 알아보도록 하겠습니다.
1. 메서드란 무엇인가?
메서드는 클래스 내에서 수행할 작업을 정의하는 코드 블록입니다. 일반적으로 메서드는 입력값을 받아서 처리한 후 결과를 반환하는 역할을 합니다. 메서드는 코드의 재사용성과 가독성을 높이며, 프로그램의 구조를 체계적으로 만들어줍니다.
예시:
1
2
3
4
|
public static int add(int a, int b) {
return a + b;
}
|
cs |
2. 메서드의 구성 요소
반환 타입 (Return Type): 메서드가 수행한 결과를 반환하는 데이터 타입입니다.
반환할 값이 없는 경우 'void'를 사용합니다.
- 메서드 이름 (Method Name): 메서드를 호출할 때 사용하는 이름입니다.
- 매개 변수 (Parameters): 메서드에 전달되는 값을 받는 변수입니다. 여러 개의 매개변수가 있을 수 있습니다.
- 메서드 본문 (Method Body): 중괄호 {} 안에 들어가는 코드입니다.
예시:
1
2
3
4
|
public static double calculateArea(double radius) {
double area = Math.PI * Math.pow(radius, 2);
return area;
}
|
cs |
3. 메서드 호출하기
메서드를 사용하려면 호출해야 합니다.
호출하는 방법은 메서드 이름을 사용하고, 괄호 안에 매개변수를 전달합니다.
예시:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
public class MethodCallingExample {
public static void main(String[] args) {
int sum = add(5, 7);
System.out.println("The sum is: " + sum);
double area = calculateArea(5.0);
System.out.println("The area of the circle is: " + area);
}
public static int add(int a, int b) {
return a + b;
}
public static double calculateArea(double radius) {
double area = Math.PI * Math.pow(radius, 2);
return area;
}
}
}
}
|
cs |
main 메서드에서 두 가지 메서드를 호출하고 있습니다.
add 메서드: 두 정수를 더하는 메서드로, 두 개의 정수 매개변수를 받습니다. 이 예시에서는 5와 7을 매개변수로 전달하고 있으며, 결과로 반환되는 값을 sum 변수에 저장합니다.
calculateArea 메서드: 원의 넓이를 계산하는 메서드로, 반지름 값을 매개변수로 받습니다. 이 예시에서는 5.0을 매개변수로 전달하고 있으며, 결과로 반환되는 값을 area 변수에 저장합니다.
메서드 호출은 메서드 이름을 사용하고, 괄호 안에 매개변수를 전달함으로써 이루어집니다. 반환 값이 있는 경우, 해당 값을 변수에 저장하거나 바로 출력 등의 작업에 사용할 수 있습니다.
4. 메서드 오버로딩
메서드 오버로딩은 같은 이름의 메서드를 매개변수의 유형과 개수가 다르게 여러 개 정의하는 것입니다.
이를 통해 코드의 가독성과 유연성이 향상됩니다.
예시:
1
2
3
4
5
6
7
8
9
10
11
|
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
|
cs |
5. 메서드와 스코프
메서드 내에서 정의된 변수는 해당 메서드의 지역 변수입니다.
지역 변수는 메서드가 종료되면 소멸됩니다. 메서드 외부에서 지역 변수를 사용할 수 없습니다.
1
2
3
4
5
6
7
8
9
10
11
12
|
public class MethodAndScopeExample {
public static void main(String[] args) {
printHello();
System.out.println(message); // 오류 발생! message 변수는 printHello() 메서드의 지역 변수이므로 여기에서 사용할 수 없습니다.
}
public static void printHello() {
String message = "Hello, Java!";
System.out.println(message); // 이 곳에서는 message 변수를 사용할 수 있습니다.
}
}
|
cs |
printHello() 메서드 내에서 정의된 message 변수는 지역 변수입니다. 이 변수는 해당 메서드 내에서만 사용할 수 있으며, 메서드가 종료되면 소멸됩니다. 따라서 main 메서드에서 message 변수를 직접 사용하려고 하면 오류가 발생합니다.
메서드 외부에서 지역 변수에 접근하려면 메서드의 반환 값이나 매개변수를 통해 값을 전달할 수 있습니다.
'[JAVA] > ┃ⓑ KEYWORDS' 카테고리의 다른 글
[JAVA] this (0) | 2023.03.18 |
---|---|
[JAVA] 생성자(Constructor) (0) | 2023.03.18 |
[JAVA] 인스턴스 (Instance) (0) | 2023.03.18 |
[JAVA] 클래스(Class) (0) | 2023.03.17 |
[JAVA] 객체(Object) (0) | 2023.03.17 |