Java 함수 기초 예제 모음: 반환값, 매개변수, 배열, 정렬, 사칙연산
이번 글에서는 Java에서 함수를 만드는 기본 방법을 여러 예제로 정리합니다. 반환값이 없는 함수, 반환값이 있는 함수, 매개변수를 사용하는 함수, 배열을 인자로 받는 함수까지 차례대로 살펴봅니다. 또한 선택 정렬, 버블 정렬, 최대값과 최소값 구하기, 사칙연산 함수, 짝수 판별 함수도 함께 실습합니다.
학습 포인트
함수는 반복되는 코드를 하나의 기능으로 묶어 재사용할 수 있게 해 줍니다. Java에서는 반환값이 없을 때
함수는 반복되는 코드를 하나의 기능으로 묶어 재사용할 수 있게 해 줍니다. Java에서는 반환값이 없을 때
void를 사용하고, 반환값이 있을 때는 int, boolean 같은 자료형을 메서드 이름 앞에 작성합니다.1. 반환값과 매개변수를 사용하는 함수
첫 번째 예제는 1부터 10까지의 합을 구하는 함수를 여러 형태로 만든 코드입니다.
sum()은 반환값 없이 바로 출력하고, sum1()은 계산 결과를 반환합니다. sum2(int x)는 1부터 x까지의 합을 구하고, sum3(int x, int y)는 x부터 y까지의 합을 구합니다.package a20260508;
public class functionTest1 {
// 리턴값이 없음
public static void sum() {
int hap = 0;
for (int i = 1; i <= 10; i++) {
hap = hap + i;
}
System.out.println(hap);
}
// 리턴값이 있음
public static int sum1() {
int hap = 0;
for (int i = 1; i <= 10; i++) {
hap = hap + i;
}
return hap;
}
// 파라메타(인자)가 있음
public static int sum2(int x) {
int hap = 0;
for (int i = 1; i <= x; i++) {
hap = hap + i;
}
return hap;
}
public static int sum3(int x, int y) {
int hap = 0;
for (int i = x; i <= y; i++) {
hap = hap + i;
}
return hap;
}
public static void main(String[] args) {
sum();
int hap = sum1();
System.out.println(hap);
int hap2 = sum2(50);
System.out.println(hap2);
int hap3 = sum3(50, 100);
System.out.println(hap3);
}
}
실행 결과
55
55
1275
3825
55
55
1275
3825
TIP
return은 함수에서 계산한 값을 호출한 곳으로 돌려주는 역할을 합니다. 값을 반환하는 함수는 int hap = sum1();처럼 변수에 결과를 저장할 수 있습니다.2. 배열을 이용한 선택 정렬과 버블 정렬
두 번째 예제는 배열을 정렬하는 함수입니다.
selsort()는 선택 정렬 방식으로 작은 값을 앞으로 보내고, bubblesort()는 버블 정렬 방식으로 옆에 있는 값과 비교하면서 큰 값을 뒤로 보냅니다. prn() 함수는 배열의 값을 출력하는 역할을 합니다.package a20260508;
public class functiontTest2 {
public static void selsort(int a[]) {
int temp;
for (int i = 0; i < a.length - 1; i++) {
for (int j = i + 1; j < a.length; j++) {
if (a[i] > a[j]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
public static void prn(int a[]) {
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + ", ");
}
System.out.println();
}
public static void bubblesort(int a[]) {
int temp;
for (int i = 0; i < a.length - 1; i++) {
for (int j = 0; j < a.length - 1; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
int a[] = {10, 90, 8, 100, 1, 45, 56};
int b[] = {90, 9, 8, 1, 10, 45, 56};
selsort(a);
prn(a);
bubblesort(b);
prn(b);
}
}
실행 결과
1, 8, 10, 45, 56, 90, 100,
1, 8, 9, 10, 45, 56, 90,
1, 8, 10, 45, 56, 90, 100,
1, 8, 9, 10, 45, 56, 90,
선택 정렬은 기준 위치의 값과 뒤쪽 값들을 비교해서 작은 값을 앞으로 가져오는 방식입니다. 버블 정렬은 인접한 두 값을 비교하여 큰 값을 뒤쪽으로 이동시키는 방식입니다.
3. 배열에서 최대값과 최소값 구하기
세 번째 예제는 배열 안에서 가장 큰 값과 가장 작은 값을 찾는 함수입니다. 처음에는 배열의 첫 번째 값을 기준값으로 저장한 뒤, 반복문을 돌면서 더 큰 값 또는 더 작은 값이 나오면 기준값을 바꿉니다.
package a20260508;
public class functionTest3 {
public static int max(int a[]) {
int temp = a[0];
for (int i = 1; i < a.length; i++) {
if (a[i] > temp) {
temp = a[i];
}
}
return temp;
}
public static int min(int a[]) {
int temp = a[0];
for (int i = 1; i < a.length; i++) {
if (a[i] < temp) {
temp = a[i];
}
}
return temp;
}
public static void main(String[] args) {
int a[] = {90, 89, 70, 99, 34, 56};
int ma = max(a);
int mi = min(a);
System.out.println("최대값=" + ma);
System.out.println("최소값=" + mi);
}
}
실행 결과
최대값=99
최소값=34
최대값=99
최소값=34
4. 사칙연산 함수 만들기
네 번째 예제는 더하기, 빼기, 곱하기, 나누기를 각각 함수로 만든 코드입니다. 두 정수를 매개변수로 받아 계산한 뒤 결과를 반환합니다.
package a20260508;
public class functionTest4 {
public static int plus(int a, int b) {
int c;
c = a + b;
return c;
}
public static int minus(int a, int b) {
int c;
c = a - b;
return c;
}
public static int multiply(int a, int b) {
int c;
c = a * b;
return c;
}
public static int divide(int a, int b) {
int c;
c = a / b;
return c;
}
public static void main(String[] args) {
System.out.println(plus(10, 5));
System.out.println(minus(10, 5));
System.out.println(multiply(10, 5));
System.out.println(divide(10, 5));
}
}
실행 결과
15
5
50
2
15
5
50
2
TIP
divide() 함수는 정수끼리 나누기 때문에 결과도 정수로 나옵니다. 예를 들어 10 / 4를 계산하면 소수점은 버려지고 2가 됩니다.5. 짝수와 홀수 판별 함수 만들기
마지막 예제는 입력받은 숫자가 짝수인지 홀수인지 판별하는 코드입니다.
isEven(int x) 함수는 x를 2로 나누었을 때 나머지가 0이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.package a20260508;
import java.util.Scanner;
public class funtionTest5 {
public static boolean isEven(int x) {
if (x % 2 == 0) {
return true;
} else {
return false;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
boolean result = isEven(a);
if (result == true) {
System.out.println("짝수");
} else {
System.out.println("홀수");
}
}
}
실행 결과 예시
입력값: 8
짝수
입력값: 7
홀수
입력값: 8
짝수
입력값: 7
홀수
마무리 정리
이번 글에서는 Java 함수의 기본 형태와 활용 방법을 여러 예제로 정리했습니다. 함수는 코드를 기능별로 나누어 관리하기 쉽게 만들고, 같은 기능을 여러 번 재사용할 수 있게 해 줍니다.
void함수는 반환값 없이 실행만 수행합니다.return이 있는 함수는 계산 결과를 호출한 곳으로 돌려줍니다.- 매개변수를 사용하면 함수에 필요한 값을 외부에서 전달할 수 있습니다.
- 배열도 함수의 인자로 전달하여 정렬, 최대값, 최소값 계산 등에 활용할 수 있습니다.
boolean함수는 조건 판별 결과를true또는false로 반환할 때 사용합니다.
반응형
'IT_Internet > Java' 카테고리의 다른 글
| 배열 (0) | 2026.05.19 |
|---|---|
| 반복문-while (0) | 2026.05.08 |
| 반복문-for (0) | 2026.05.08 |
| 자바-조건문2(switch-case) (0) | 2026.05.07 |
| 자바 - 조건문1(if문) (0) | 2026.05.07 |