메소드는 입력값을 받아 어떤 처리를 하고 리턴값을 돌려주는 것
반복을 피하기 위해서!
반복을 피하면 코드량이 줄어들고 유지 보수가 쉬워진다
0~5의 수를 3번 반복해서 출력할 경우
메소드 사용 안한 경우
public static void main(Stinrg[] args) {
// 0 ~ 5 출력하는 것을 3번 반복
for (int j = 0; j < 3; j++ {
int i = 0;
// 0 ~ 5 출력
while(i < 6) {
System.out.println(i);
i++;
}
}
}
메소드 사용한 경우 - 메소드 선언과 호출을 이용
public class Method {
// numbering() 메소드 선언
public static void numbering() {
int i = 0;
// 0 ~ 5 출력
while(i < 6) {
System.out.println(i);
i++;
}
}
public static void main(String[] args) {
// numbering() 메소드 호출
numbering();
numbering();
numbering();
}
}
public class Method {
public static void numbering(int start, int stop) // 매개변수 {
int i = start;
while(i < stop) {
System.out.println(i);
i++;
}
}
public static void main(String[] args) {
// numbering() 메소드 호출
numbering(2, 6); // 인자
}
}
public class Method {
public static String numbering(int start, int stop) // 매개변수 {
int i = start;
String temp = "";
while(i < stop) {
temp += i;
i++;
}
return temp; //temp에 담긴 값을 메소드 외부로 반환
// return을 만나는 순간 메소드 종료
}
public static void main(String[] args) {
// numbering() 메소드 호출
String result = numbering(2, 6); // 리턴값이 들어가 있음
System.out.println(result);
}
}
출력값이 없다면 void, 출력값이 있다면 자료형
입력값이 없다면 그냥 괄호, 있다면 매개변수 입력
인스턴스 객체를 생성하고 인스턴스 변수.메소드명();을 통해 메소드를 사용한다.
- 선언된 매개변수과 동일한 자료형 값 입력
- 매개변수가 있는데 인자를 입력하지 않으면 안된다
- 출력값이 있는 메소드는 반환 타입과 일치하는 변수에 값을 저장할 수 있다