메서드 : 상태는 행위를 통해 변경한다 (객체지향에서)
함수 : 복잡한 로직을 추상적으로 호출하는 법
자바는 함수를 만들 수 있는 문법적인 방법이 없다.
그래서 자바는 메서드를 만들어서 상태변경을 하는 것이 아닌 함수처럼 사용한다.

리턴 타입(int)이 있으면 반드시 return이 있어야 한다.
리턴 타입(int)과 리턴 값(5)은 일치해야 한다.
함수가 리턴되면, 그 결과 값으로 식이 변경된다. mod(10,3) → 결과값 1
package ex04;
public class Mem01 {
// 1. 기본 메서드 (함수)
static void f() {
System.out.println("기본함수 f()");
}
// 2. 인수가 있는 메서드 (함수) _void:리턴x,output이 없음
// x*1/x
static void g(int x) {
System.out.println("인수가 있는 함수 g(x): " + (x * 1 / x));
}
// 3. 인수가 여러개인 메서드 (함수)
static void h(int x, int y) {
System.out.println("인수가 여러개 있는 함수 h(x,y): " + (x + y));
}
// 4. 리턴이 있는 메서드 (함수) _ int와 return은 세트
static int mod(int x, int y) {
return x % y; // int와 타입이 일치해야함
}
public static void main(String[] args) {
f(); // 같은 클래스 안에 있으면 생략가능
g(8);
h(5, 4);
int r = mod(10, 3);
System.out.println("나머지: " + r);
}
}
C:\workspace\tools\jdk-21\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.2.1\lib\idea_rt.jar=53364:C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.2.1\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\workspace\java_lec\study\out\production\study ex04.Mem01
기본함수 f()
인수가 있는 함수 g(x): 1
인수가 여러개 있는 함수 h(x,y): 9
나머지: 1
Process finished with exit code 0
메서드(계산기)
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 (최종 결과값을 출력하시오)
// 1. 더하고 결과 받기
int c = add(5, 4);
// 2. 곱하고 결과 받기
int d = mul(9, 2);
// 3. 나누고 결과 받기
int e = div(18, 3);
// 4. 빼고 결과 받기
int f = sub(6, 5);
System.out.println(f);
}
}
C:\workspace\tools\jdk-21\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.2.1\lib\idea_rt.jar=53328:C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.2.1\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\workspace\java_lec\study\out\production\study ex04.Cal01
1
Process finished with exit code 0
Share article