IT
자바에서 함수(Function)
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
객체 생성 없이 호출 가능한 함수
오버로딩
같은 이름의 함수 다형성
댓글
아직 댓글이 없습니다.
로그인 후 댓글을 남길 수 있습니다.