
1. 메서드 기본 형태
package ex04;
public class Mem01 {
//parameter-argument : 매개변수-인수
// 1. 기본 메서드 (상태 변경 안하는 함수)
static void f() { // static이어야 메모리에 뜨기 때문에 void 앞에 static이 붙어야 함.
System.out.println("기본함수 f()");
}
// 2. 인수가 있는 메서드 (함수)
static void g(int x) { // 받고 싶은 타입의 변수를 선언만 하면 됨. 초기화 불가능. 호출할 때 값을 받음.
// x * 1 / x : 무조건 1이 나오게 하는 함수(역함수)
System.out.println("인수가 있는 함수 g(x): " + (x * 1) / x);
}
// 3. 인수가 여러 개인 메서드 (함수)
// void는 리턴 값이 없음
static void h(int x, int y) {
System.out.println("인수가 여러 개 있는 함수 h(x,y): " + (x + y));
}
// 4. 리턴이 있는 메서드 (함수)
static int mod(int x, int y) {
return x % y; //return 타입과 리턴 값의 타입은 같아야 한다. (명시적/ 묵시적 형변환 가능)
}
public static void main(String[] args) {
f(); // 같은 클래스에 있으므로 클래스명 생략 가능 (클래스명.함수명)
g(10);
h(5, 4);
int r = mod(10, 3); //코드는 우변부터 실행됨.
System.out.println("나머지: " + r);
}
}

2. 계산기
package ex04;
public class Cal01 {
static int add(int a, int b) {
return a + b;
}
static int sub(int a, int b) {
return a - b;
}
static int mul(int a, int b) {
return a * b;
}
static int div(int a, int b) {
return a / b;
}
public static void main(String[] args) {
// 문제: 5 + 4, 결과 * 2, 결과 / 3, 결과 - 5 (최종 결과값을 출력하시오)
int num = 0;
num = add(5, 4);
num = mul(num, 2);
num = div(num, 3);
num = sub(num, 5);
System.out.println("최종 결과값: " + num);
}
}

Share article