메소드의 형식은 다음과 같다
접근자 리턴데이터타입 함수명(인자 x) {
처리 로직
결과 리턴
}
// fn으로 받은 x값은 지역변수
public int fn(int x) {
int y = x * x;
return y
}
package methodex;
import java.util.Scanner;
public class MethodReturnEx {
public static int add(int x) {
int y= x + x;
return y;
}
public static void main(String[] args) {
int x= 10;
int y= add(x);
System.out.println("y = add(x) = "+ y);
x= 20;
y= add(x);
System.out.println("y = add(x) = "+ y);
System.out.println("int input >");
Scanner sc=new Scanner(System.in);
x = sc.nextInt();
y= add(x);
System.out.println("y= add(x) = " +y);
}
}

package methodex;
public class MyMath {
static int sI=10;
int i= 100;
// static 메서드
public static int sAdd(int x) {
int y = x + x;
return y;
}
// instance 메서드
public int add(int x1, int x2) {
int y = x1 + x2;
return y;
}
public static void main(String[] args) {
System.out.println(sI);
// sAdd는 static 되어있는 부분이기 때문에 바로 호출이 가능하다
int y= sAdd(sI);
System.out.println(y);
// static 이 없는 곳을 호출하기 때문에 new를 사용해주면 호출가능해짐
MyMath math = new MyMath();
System.out.println(math.i);
y = math.add(math.i,sI);
System.out.println(y);
}
}
Mymath.java
package methodex;
public class MyMath {
static int sI=10;
int i= 100;
// static 메서드
public static int sAdd(int x) {
int y = x + x;
return y;
}
// instance 메서드
public int add(int x1, int x2) {
int y = x1 + x2;
return y;
}
}
MyMathTest.java
package methodex;
public class MyMathTest {
public static void main(String[] args) {
System.out.println(MyMath.sI);
int y = MyMath.sAdd(MyMath.sI);
//여기서도 마찬가지로 add를 사용하기 위해서 new로 선언해주고 사용할 수 있다.
MyMath math = new MyMath();
System.out.println(math.i);
y= math.add(math.i,MyMath.sI);
System.out.println(y);
}
}

package methodex;
public class MethoArgsEx {
public static int varInt(int x) {
x = 10;
return x;
}
public static void main(String[] args) {
int x = 0;
//리턴받기 전 출력
System.out.println(x); // 0
//리턴받은 값을 기존 x값에 누적시켜준다.
x = varInt(x);
//리턴 받고나서 출력
System.out.println(x); // 10
}
}

한번 실습해보자 !
package methodex;
public class MethoArgsEx {
public static int varInt(int x) {
x = 10;
return x;
}
public static void main(String[] args) {
int x = 0;
//리턴받기 전 출력
System.out.println(x);
// 리턴받은 값을 기존 x값에 누적시켜준다. 만약
varInt(x);
//리턴 받고나서 출력
System.out.println(x);
}
}
위 코드와 같이 varInt(x);로 값을 받게되면 main내에 선언되어있는 x값을 출력하게 된다.
