재사용성의 핵심이면서 절차적 프로그래밍의 주인공이라고 할 수 있는 메소드를 배워보자
정의와 호출
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(); }