함수 (Function)
- 기능을 미리 정의해두고 나중에 불러서 쓰는 것
- 함수는 미리 정의만 해둔것이기 때문에 어딘가에서 호출하지 않으면 아무것도 실행되지 않는다
함수의 매개변수 (Parameter)
- 함수를 호출할 때 해당 함수에 원하는 값을 전달하기 위해 만들어두는 변수
- 함수를 호출할 때 ()에 순서대로 값을 전달해야 하고 이 값을 '인자(Argument)'라고 부른다
- 함수를 정의할 때 ()에 인자를 받기위해 선언하는 변수
- 매개변수의 개수에는 제한이 없다
- 매개변수가 몇 개 올지 모를때 ... 을 활용하면 인자를 무한대로 받을 수 있다
함수의 리턴 타입
- 함수의 이름 앞에 붙이는 타입은 해당 함수를 호출하고 난 후 받환되는 값의 타입을 의미한다 - void는 반환되는 값이 아무것도 없는
함수라는 뜻
- 함수의 리턴 타입이 void가 아닌 함수는 반드시 return을 통해 함수를 호출한 곳에 값을 반환해야 한다
return
- 리턴 타입이 void가 아닌 함수에서는 반드시 실행되어야 한다
- 함수 내에서 return을 만나는 즉시 해당 함수를 종료하고 호출한 곳으로 값을 반환한다
public static void rabbit() {
System.out.println(" /)/)");
System.out.println("( ..)");
System.out.println("( >$");
}
public static void main(String[] args) {
rabbit();
}
나중에 받을 값으로 미리 로직을 구성할 수 있다
public static void plusNumbers(int num1, int num2) {
System.out.println(num1 + num2);
}
type... : int를 1개 이상 받겠다 배열타입으로 받는다
public static void plussAll(int... num) {
int sum = 0;
for (int i = 0; i < num.length; i++) {
sum += num[i];
}
System.out.printf("전달한 모든 숫자의 합은 %d 입니다.\n", sum);
}
type...을 쓰고 난 이후에는 다른 매개변수를 선언할 수 없다
type...은 항상 가장 마지막 매개변수로 사용해야한다
public type method() {};
여기서 type에 들어가는 값에 따라서 return을 넣어야하는지, return 값이 뭐가 오는지가 달라진다
void : 이 함수는 호출해봤자 아무값도 돌려받지 못한다 (return 값을 안써줘도 된다)
int, String, boolean : 이 함수는 호출하면 무조건 맞는 return값을 돌려줘야한다
public static int plus2(int num) {
return num + 2; // return : 이 함수를 호출한 곳에 원하는 값을 돌려준다
}
함수 오버로딩 (Overloading)
- 같은 이름의 함수를 다양한 버전으로 여러개 만드는 것
- 같은 이름으로 다른 버전이 되기 위해서는 매개변수의 개수 또는 타입이 달라야 한다
- 리턴 타입이 다른것만으로는 다른 버전으로 인정되지 않는다
public static int add(int a) {
return a + 10;
}
ex> 리턴 타입이 다른것만으로는 다른 버전으로 인정되지 않는다
매개 변수의 개수는 같지만 타입이 다른 오버로딩
public static double add(double a) {
return a + 10;
}
매개변수의 개수가 다른 오버로딩
public static int add(int a, int b) {
return a + b;
}
'JAVA' 카테고리의 다른 글
정적 영역(static) (0) | 2024.05.08 |
---|---|
객체지향 프로그래밍 (Object Orientaed Programming) (0) | 2024.04.29 |
배열 (Array) (0) | 2024.04.23 |
랜덤 클래스,함수 (Random) (0) | 2024.04.23 |
반복문 (while문) (0) | 2024.04.22 |