min's devlog

메소드(Method) 본문

til/Java

메소드(Method)

값진 2022. 3. 20. 18:23

메소드 (Method)

메소드의 여러가지 이름

- 메소드(Method), 함수(Function), 프로시저(Procedure), 서브 루틴(Sub Routine)

 

메소드?
- 어떤 문제를 처리하기 위해 같은 목적을 가진 코드의 집합 > 1가지 목적을 위해 실행하는 코드들의 집합
- 코드 재사용의 단위이다.

메소드 선언

public static 리턴타입(자료형/void) 메소드명() {
	실행할 코드;
    return; //리턴타입 void일 경우 return X
}

리턴타입에는 int, string, char 등의 자료형을 넣는다. 리턴타입에 void가 들어가는 경우 리턴 받는 데이터가 없다는 의미이기 때문에 return 되는 것도 없다. 리턴타입이 있다면 return 리턴 데이터를 입력한다.

메소드의 장점
  - 생산성이 높다. > 처음 만들때 비용이 싸다는 장점이 있다. (반복 코드 제거)
  - 유지보수가 쉽다. > 메소드 선언부만 수정하면 호출부는 그대로 재사용하기 때문에 유지보수면에서 용이하다.
  - 가독성이 높다. > 주제별로 코드를 분리해서 관리하기 때문에 가독성도 좋다.

 

메소드의 호출

public class Method {
	public static void sum(){ // method 정의
		int sum=0;
		for (int i = 0; i < 10; i++) {
			sum += i;
		}
		System.out.println(sum);
	}
	
	public static void main(String[] args) { // main 메소드
		
        sum(); // 메소드 호출

	}
}

메인 메소드에서는 다음과 같이 필요에 따라 정의한 메소드를 호출한다.

 

 

메소드의 매개변수(parameter)

메소드의 매개변수란 외부로부터 입력 값을 받기 위해 메소드의 괄호 안에 선언하는 변수이다. main메소드에서 다른 메소드를 호출할 때 값을 전달하여 전달된 값에 따라 처리될 수 있도록 한다.

public class MethodEx03 {
	public static void sum(int a) { // int a 매개변수
		int sum = 0;
		for (int i = 0; i <= a; i++) { // a = 15
			sum += i;
		}
		System.out.println(sum);
	}

	public static void sum(int a, int b) { // int a, b 매개변수 / 메소드 오버로딩
		int sum = 0;
		for (int i = a; i <= b; i++) { // a = 5, b = 20
			sum += i;
		}
		System.out.println(sum);
	}

	public static void main(String[] args) {
		sum(15); // sum(int a); 호출 및 값 전달
		sum(5, 20); // sum(int a, b); 호출 및 값 전달
	}
}

int a 를 매개변수로 갖는 sum과 int a 와 int b를 매개변수로 갖는 sum을 정의하였다. (동일한 타입의 데이터를 전달) 그 결과 전달된 데이터 값에 따라 좀 더 유연한 결과를 출력할 수 있게 되었다.

메소드를 호출하려면 매개변수와 동일한 자료형의 데이터를 전달해야 한다. 두 번째로 정의한 sum메소드도 마찬가지로 호출하려면 동일한 타입의 두 개의 데이터를 전달해야 한다.

 

 

'til > Java' 카테고리의 다른 글

객체와 인스턴스  (0) 2022.03.20
객체 지향과 클래스 (Class)  (0) 2022.03.20
jar와 특수문자(Escape)  (0) 2022.03.20
Java 달력 만들기  (0) 2022.03.17
연산자(Operator)  (0) 2022.03.10
Comments