반응형

# 메소드(method)

  • 코드를 재사용할 수 있게 해준다.
public static void main(String[] args) {
	return
}

## 메소드 정의(define)와 호출(call)

class Main {
	// numbering 메소드 정의
    public static void numbering() {
        int i = 0;
        while (i < 10) {
            System.out.println(i);
            i++;
        }
    }

    public static void main(String[] args) {
        // numbering 메소드를 실행(호출)
        numbering();
    }
}

## main 메소드

  • 자바와 개발자 사이에 체결되어있는 약속. 그 약속은 개발자가 main이라는 이름을 갖는 메소드를 구현해 놓으면 자바가 실행 될 때 main이라는 메소드를 호출하도록 약속되어있는 것이다.

## void

  • 메소드 앞에 void가 붙으면 메소드의 return 값이 존재하지 않음을 명시적으로 선언해주는 것이다.

## 메소드가 없다면?

  • 0부터 9까지 출력하는 작업을 5번 반복하라는 요청을 받았다면...
  • 메소드가 있는 경우엔 아래와 같이 손쉽게 작업 가능. (재활용 가능 => 코드의 양 감소, 유지보수가 유리해진다.)
public void Main {
	public static void numbering() {
    	int i = 0;
        while ( i < 10 ) {
        	System.out.println(i);
            i++;
        }
    }
    
    public static void main(String[] args) {
    	numbering();
        numbering();
        numbering();
        numbering();
        numbering();
    }
}
  • 메소드가 없다면 아래와 같이 반복적인 코드를 사용, 코드의 양이 늘고 비효율적이며, 각종 문제가 발생될 수 있다.
public void Main {   
    public static void main(String[] args) {
    	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++;
        }
    }
}

## 입력값

class Main {
  public static void numbering(int init, int limit) {	// int init, int limit => 매개변수(parameter)
    int i = init;
    while (i < limit) {
        System.out.println(i);
        i++;
    }
  }
  public static void main(String[] args) {
    numbering(1, 5);  //numbering 메소드로 1과 5라는 "인자(argument)"를 전달한다.
  }
}

## String[] args

  • 매개변수로서 메소드가 호출 될 때 전달된 입력 값을 메소드 내부로 전달하는 역할을 하는 변수이다.
  • 이 변수의 데이터 형은 String[]로 문자열을 담고 있는 배열이다. 
반응형

+ Recent posts