1. 매서드의 정의
접근제한자 리턴타입 메서드명(인수1, 인수2, ...){
수행코드;
return 반환값;
}
* return값이 없는 경우에는 리턴타입이 void
* 매개변수는 ',' 로 구분, 매개변수가 없더라도 괄호 ( ) 필요
2. 매서드 호출
자료형 변수명 = 매서드명(인수1, 인수2, ...)
*호출시 인수의 개수와 타입이 일치해야 함
*매서드의 결과는 하나의 값으로 나오기 때문에 하나의 변수로 받아줘야 함
public class MethodMakeTest{
public static void main(String[] args) {
int a=3;
int b=5;
int result=add(a,b); //매서드 호출
System.out.println("result = " + result);
}
//매서드 정의
public static int add(int a, int b){
int sum=a+b;
return sum;
}
}
result = 8
종료 코드 0(으)로 완료된 프로세스
3. 매개변수 전달기법
1. Call by Value(값 전달)
public int add(int a, int b){
int sum = a+b;
return sum;
}
2. Call by Reference(번지 전달)
public int add(int[ ] a){
int sum=0;
for(int i=0;i<a.length;i++){
sum+=a[i];
}
return sum;
}
*예시(배열 a를 모두 더하는 매서드를 정의하여 사용하기)
public class CallByReference {
public static void main(String[] args) {
int []a={1,2,3,4,5};
int result=ArrayAdd(a);
System.out.println("result = " + result);
}
public static int ArrayAdd(int[] a){
int sum=0;
for(int i=0;i<a.length;i++){
sum+=a[i];
}
return sum;
}
}
result = 15
종료 코드 0(으)로 완료된 프로세스
4. 매서드의 오버로딩(Overloading)
- 오버로딩: 하나의 클래스 내에서 동일한 이름의 매서드를 여러 개 사용할 수 있는 기법
- 오버로딩 전제조건: 매서드의 시그니처(매개변수 개수, 타입)가 달라야 함
*예시(정수, 실수를 받아서 총합을 구하는 매서드 정의하고 호출하여 사용하기)
public class OverloadingTest {
public static void main(String[] args) {
float v=Add(12.1f, 45.4f);
System.out.println("v = " + v);
int vv=Add(10,80);
System.out.println("vv = " + vv);
}
public static int Add(int a, int b){
int sum=a+b;
return sum;
}
public static float Add(float a, float b){
float sum=a+b;
return sum;
}
}
v = 57.5
vv = 90
종료 코드 0(으)로 완료된 프로세스
'Study > Java' 카테고리의 다른 글
| [개념]JVM이 사용하는 메모리 영역 (0) | 2025.06.15 |
|---|---|
| [개념]Static, NoneStatic (1) | 2025.06.15 |
| [개념] for문과 while문 (4) | 2025.05.30 |
| [개념]If문과 Switch-case문 (0) | 2025.05.30 |
| [개념]키보드로부터 데이터 입력 받기 (1) | 2025.05.29 |