IMG-LOGO
공지사항 :

자바에서 함수(Function)

lmkfox - 2025-06-14 07:19:57 3 Views 0 Comment

1. 자바 함수(메서드)의 기본 구조

반환타입 함수이름(매개변수목록) {
    // 실행할 코드
    return 반환값;
}

예시:

public int add(int a, int b) {
    return a + b;
}

이 함수는 두 개의 정수를 입력받아 더한 값을 반환합니다.


2. 함수 예제와 설명

예제 1: 기본 함수

public class Calculator {
    // 덧셈 함수
    public int add(int a, int b) {
        return a + b;
    }

    // 곱셈 함수
    public int multiply(int a, int b) {
        return a * b;
    }

    public static void main(String[] args) {
        Calculator cal = new Calculator();
        int sum = cal.add(10, 5);          // 15
        int product = cal.multiply(10, 5); // 50
        System.out.println("합계: " + sum);
        System.out.println("곱셈: " + product);
    }
}


예제 2: 반환값 없는 함수 (

void

)

public class Hello {
    public void sayHello(String name) {
        System.out.println("안녕하세요, " + name + "님!");
    }

    public static void main(String[] args) {
        Hello h = new Hello();
        h.sayHello("홍길동"); // 출력: 안녕하세요, 홍길동님!
    }
}


예제 3: 매개변수 없는 함수

public class Info {
    public String getCompany() {
        return "OpenAI";
    }

    public static void main(String[] args) {
        Info info = new Info();
        String company = info.getCompany(); // OpenAI
        System.out.println("회사 이름: " + company);
    }
}


3. 함수 오버로딩 (Overloading)

같은 이름의 함수라도 매개변수의 타입이나 개수가 다르면 여러 개 정의 가능

public class Printer {
    public void print(String s) {
        System.out.println("문자열 출력: " + s);
    }

    public void print(int n) {
        System.out.println("숫자 출력: " + n);
    }

    public static void main(String[] args) {
        Printer p = new Printer();
        p.print("안녕");
        p.print(123);
    }
}


4. static 함수와 인스턴스 함수

  • static: 클래스명으로 호출 가능 (정적 메서드)

  • 인스턴스 메서드: 객체를 생성한 후 호출

public class MathUtil {
    public static int square(int x) {
        return x * x;
    }

    public int cube(int x) {
        return x * x * x;
    }

    public static void main(String[] args) {
        System.out.println(MathUtil.square(3)); // 9

        MathUtil mu = new MathUtil();
        System.out.println(mu.cube(3)); // 27
    }
}


5. 함수 사용 시 주의할 점

  • 반환 타입을 반드시 정의해야 함 (void는 반환 없음)

  • 매개변수 타입과 순서가 호출 시 정확히 일치해야 함

  • 메서드는 클래스 내부에서만 정의 가능


마무리

용어

설명

반환타입

함수가 리턴하는 값의 자료형

매개변수

함수 호출 시 전달받는 값들

void

반환값이 없는 함수의 타입

static

객체 생성 없이 호출 가능한 함수

오버로딩

같은 이름의 함수 다형성


댓글