본문 바로가기

JAVA

JAVA 함수 (Function)

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