반환타입 함수이름(매개변수목록) {
// 실행할 코드
return 반환값;
}
public int add(int a, int b) {
return a + b;
}
이 함수는 두 개의 정수를 입력받아 더한 값을 반환합니다.
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);
}
}
public class Hello {
public void sayHello(String name) {
System.out.println("안녕하세요, " + name + "님!");
}
public static void main(String[] args) {
Hello h = new Hello();
h.sayHello("홍길동"); // 출력: 안녕하세요, 홍길동님!
}
}
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);
}
}
같은 이름의 함수라도 매개변수의 타입이나 개수가 다르면 여러 개 정의 가능
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);
}
}
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
}
}
반환 타입을 반드시 정의해야 함 (void는 반환 없음)
매개변수 타입과 순서가 호출 시 정확히 일치해야 함
메서드는 클래스 내부에서만 정의 가능
용어 |
설명 |
---|---|
반환타입 |
함수가 리턴하는 값의 자료형 |
매개변수 |
함수 호출 시 전달받는 값들 |
void |
반환값이 없는 함수의 타입 |
static |
객체 생성 없이 호출 가능한 함수 |
오버로딩 |
같은 이름의 함수 다형성 |