재사용성의 핵심이면서 절차적 프로그래밍의 주인공이라고 할 수 있는 메소드를 배워보자
정의와 호출

package offline_tutorials;
public class ProceduralProgramming {
public static void numbering() {
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
}
public static void main(String[] args) {
numbering();
}
}
메소드가 없다면?
int i = 0;
while(i<10){
System.out.println(i);
i++;
}
i = 0;
while(i<10){
System.out.println(i);
i++;
}
i = 0;
while(i<10){
System.out.println(i);
i++;
}
i = 0;
while(i<10){
System.out.println(i);
i++;
}
i = 0;
while(i<10){
System.out.println(i);
i++;
}
메소드화
메소드를 사용하면 적은 양의 코드로 똑같은 효과를 얻을 수 있다.
numbering(); numbering(); numbering(); numbering(); numbering();
입력

public static void numbering(int limit) {
int i = 0;
while (i < limit) {
System.out.println(i);
i++;
}
}
public static void main(String[] args) {
numbering(5);
}
복수의 입력

public static void numbering(int init, int limit) {
int i = init;
while (i < limit) {
System.out.println(i);
i++;
}
}
public static void main(String[] args) {
numbering(1, 5);
}
출력

public static String numbering(int init, int limit) {
int i = init;
String output = "";
while (i < limit) {
output += i;
i++;
}
return output;
}
public static void main(String[] args) {
String result = numbering(1, 5);
System.out.println(result);
}
메소드는 복수의 값을 리턴할 수 없다
메소드는 하나의 값만을 출력(반환) 할 수 있다.
public static String getMember1() {
return "최진혁";
}
public static String getMember2() {
return "최유빈";
}
public static String getMember3() {
return "한이람";
}
public static void main(String[] args) {
System.out.println(getMember1());
System.out.println(getMember2());
System.out.println(getMember3());
}
배열을 통해서 복수의 값을 리턴하자
배열에 복수의 값을 담아서 메소드의 출력으로 반환하면 결과적으로 복수의 값을 리턴한 효과를 얻을 수 있다. 배열의 효용이 다시 등장한다.

public static String[] getMembers() {
String[] members = { "최진혁", "최유빈", "한이람" };
return members;
}
public static void main(String[] args) {
String[] members = getMembers();
}

