JAVA 자바 함수(Function)
자바 프로그래밍에서 함수는 코드를 재사용하고 프로그램 구조를 명확하게 만들 수 있도록 핵심 기능을 묶어 만든 독립적인 코드 블록입니다. 함수를 사용하면 코드 작성 및 관리 효율성을 높이고, 유지보수를 용이하게 하며, 프로그램의 재사용성을 크게 향상시킬 수 있습니다.
1. 자바 함수 개요
1 - 1 함수 특징:
- 코드 재사용: 반복되는 코드를 함수로 묶어 여러 번 호출하여 사용 가능
- 구조적 명확성: 함수를 사용하여 프로그램 구조를 명확하고 이해하기 쉽게 만들 수 있음
- 효율성 향상: 동일한 코드를 반복적으로 작성하지 않아 코드 길이를 줄이고 유지보수를 용이하게 함
- 재사용성 확보: 개발된 함수를 다른 프로그램에서도 활용하여 코드 재사용성을 높일 수 있음
1 - 2 함수 정의:
// 함수 정의 형식
public return_type function_name(parameter_list) {
// 함수 내용 (코드 블록)
}
- return_type: 함수가 반환하는 값의 자료형 (void, int, String 등)
- function_name: 함수를 호출할 때 사용하는 이름
- parameter_list: 함수에 전달되는 인수 목록 (형식, 이름)
- 함수 내용: 함수가 수행하는 실제 작업 코드
1 - 3 함수 호출:
// 함수 호출 예시
int result = add(10, 20); // add 함수 호출 및 결과 저장
System.out.println("두 수의 합: " + result); // 30 출력
2. 자바 함수 종류
2 - 1 매개변수 없는 함수:
public void printMessage() {
System.out.println("Hello, World!");
}
2 - 2 매개변수 있는 함수:
public int add(int num1, int num2) {
return num1 + num2;
}
2 - 3 반환값 있는 함수:
public int getSquare(int number) {
return number * number;
}
2 - 4 void 형 반환값 함수:
public void printArray(int[] numbers) {
for (int number : numbers) {
System.out.println(number);
}
}
3. 자바 함수 활용 예시 코드
3 - 1 제곱 계산 함수:
public class SquareCalculator {
public static int getSquare(int number) {
return number * number;
}
public static void main(String[] args) {
int result = getSquare(5); // 5의 제곱 계산
System.out.println("5의 제곱: " + result); // 25 출력
}
}
3 - 2 문자열 길이 계산 함수:
public class StringLengthCalculator {
public static int getLength(String str) {
return str.length();
}
public static void main(String[] args) {
String hello = "Hello, Java!";
int length = getLength(hello); // hello 문자열 길이 계산
System.out.println(hello + "의 길이: " + length); // 13 출력
}
}
3 - 3 두 수의 합 계산 함수:
public class SumCalculator {
public static int getSum(int num1, int num2) {
return num1 + num2;
}
public static void main(String[] args) {
int result = getSum(10, 20); // 10과 20의 합 계산
System.out.println("10과 20의 합: " + result); // 30 출력
}
}
4. 조건문 활용 함수
4 - 1 학점 계산 함수:
public class GradeCalculator {
public static char getGrade(int score) {
if (score >= 90) {
return 'A';
} else if (score >= 80) {
return 'B';
} else if (score >= 70) {
return 'C';
} else {
return 'F';
}
}
public static void main(String[] args) {
int score = 85;
char grade = getGrade(score); // 점수에 따른 학점 계산
System.out.println("점수: " + score + ", 학점: " + grade); // 85, B 출력
}
}
4 - 2 윤년 판별 함수:
public class LeapYearChecker {
public static boolean isLeapYear(int year) {
if (year % 4 == 0) {
if (year % 100 == 0 && year % 400 != 0) {
return false;
}
return true;
}
return false;
}
public static void main(String[] args) {
int year = 2024;
boolean isLeap = isLeapYear(year); // 해당 연도가 윤년인지 판별
System.out.println(year + "년은 윤년인가요? " + isLeap); // 2024년은 윤년입니다. 출력
}
}
5. 반복문 활용 함수
5 - 1 배열 요소 출력 함수:
public class ArrayPrinter {
public static void printArray(int[] numbers) {
for (int number : numbers) {
System.out.println(number);
}
}
public static void main(String[] args) {
int[] numbers = {1, 3, 5, 7, 9};
printArray(numbers); // 배열 요소 출력
// 1
// 3
// 5
// 7
// 9 출력
}
}
5 - 2 문자열 반복 출력 함수:
public class StringRepeater {
public static void repeatString(String str, int count) {
for (int i = 0; i < count; i++) {
System.out.println(str);
}
}
public static void main(String[] args) {
String str = "Hello";
int count = 3;
repeatString(str, count); // 문자열을 3번 반복 출력
// Hello
// Hello
// Hello 출력
}
'JAVA' 카테고리의 다른 글
JAVA 클래스 상속 (OOP) (0) | 2024.05.26 |
---|---|
JAVA 자바 객체 지향 프로그래밍 (OOP) (0) | 2024.05.26 |
JAVA 배열(Array) (0) | 2024.05.26 |
JAVA Math 클래스 (0) | 2024.05.26 |
JAVA 반복문 While 문 (0) | 2024.05.26 |