- 특정 작업을 수행하기 위해 작성된 코드 블록이다.
- 함수를 사용하면 코드의 재사용성이 높아지고, 프로그램 구조가 더 명확해진다.
# 함수 정의
[접근제어자] [반환형] 함수이름(매개변수들) {
}
- 접근제어자 (Access Modifier): 함수의 접근 범위를 결정한다.
public, private, protected, default(명시하지 않을 때) 등이 있습니다.
- 반환형 (Return Type): 함수가 반환하는 값의 타입을 지정한다. 반환값이 없을 때는
void를 사용합니다.
- 함수이름 (Method Name): 함수의 이름으로, 소문자로 시작하는 명사나 동사를 주로 한다.
매개변수 (Parameters): 함수가 호출될 때 전달되는 값을 받기 위한 변수이다. 여러 개일 경우 쉼표로 구분한다.
- 예제: 기본 함수 정의 및 호출
- 다음은 간단한 예제이다. 두 숫자의 합을 계산하는 함수를 정의하고 호출하는 코드이다.
public class Main {
public static int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int result = add(5, 3);
System.out.println("5 + 3 = " + result);
}
}
- 설명
- public static int add(int a, int b):
add 함수는 두 개의 int 매개변수를 받아 int 값을 반환한다.
int result = add(5, 3);: add 함수를 호출하여 결과를 result 변수에 저장한다.
System.out.println("5 + 3 = " + result);: 결과를 출력한다.
# 함수의 다양한 형태
- 반환값이 없는 함수
- 반환값이 없는 함수는
void를 반환형으로 사용합니다.
public class Main {
public static void greet(String name) {
System.out.println("Hello, " + name + "!");
}
public static void main(String[] args) {
greet("Alice");
}
}
- 매개변수가 없는 함수
public class Main {
public static String getGreeting() {
return "Hello, World!";
}
public static void main(String[] args) {
String message = getGreeting();
System.out.println(message);
}
}
- 오버로딩된 함수
- 동일한 이름을 가지지만 매개변수가 다른 여러 함수를 정의할 수 있다. 이를 함수 오버로딩이라고 한다.
public class Main {
public static int add(int a, int b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
public static void main(String[] args) {
int result1 = add(5, 3);
int result2 = add(1, 2, 3);
System.out.println("5 + 3 = " + result1);
System.out.println("1 + 2 + 3 = " + result2);
}
}