자바 오리엔테이션

메소드

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

정의와 호출

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();
}

댓글

댓글 본문
작성자
비밀번호
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기