메서드(함수)
;기능을 일정영역으로 묶어서 사용하기 쉽도록 만든것

 

조건
1) 일부의 값은 변경되지만 
2) 논리가 동일한 코드가 반복될 때 

 

메서드를 만들면
1) 코드의 양이 줄어든다.  
2) 한눈에 파악이 된다.
3) 메서드의 내용만 수정하면 사용하는 모든 곳에 적용된다.
4) 자동차부품처럼 일부에 문제가 생기면 해당부품(메서드)만 수정하거나 교체하면 된다.(비용/시간이 절감된다.)


메서드의 형태

1)
리턴타입 메서드명 (매개변수,.....){
**메서드의영역**
*return리턴타입변수;*
}


2)
void 메서드명(매개변수){
**메서드의영역**
*리턴을 써도 되고 안써도 됨*
}

	int num0 = 0, num1 = 0;
		int result = 0;

		num0 = 10;
		num1 = 20;
		result = num0 + num1;
		System.out.printf("%d+%d의 합 [%d]\n", num0, num1, result);

		num0 = 100;
		num1 = 200;
		result = num0 + num1;
		System.out.printf("%d+%d의 합 [%d]\n", num0, num1, result);

		num0 = 1000;
		num1 = 2000;
		result = num0 + num1;
		System.out.printf("%d+%d의 합 [%d]\n", num0, num1, result);


		// 이런식으로 할 수 있지만 불편하고 비효율적이기 때문에
		// 논리가 반복이 될 때, 논리의 표현을 단순화 시키고 변수의 값만 수정할 수 있게
        //---> 메서드의 역할

//메서드의 영역
	public static void add(int num0, int num1) {
		int result=0;
		result = num0 + num1;
		System.out.printf("%d+%d의 합 [%d]\n", num0, num1, result);///동일한 코드의 반복

	}
	
	
	
	public static void main(String[] args) {
		add(10,20); 
		add(100,200);
		add(1000,2000);//값의변경
		
	}

//메서드를 만들땐 !!!하나의 메서드에 하나의 기능만 넣는 것!!!을 원칙으로 한다. -> 유연성증가


public class SuitableMethod {
	public static Scanner sc = new Scanner(System.in);

	public static void greeting() {
		System.out.println("안녕하세요");
	}

	public static int input() {
		System.out.println("수입력: ");
		int num = sc.nextInt();
		return num;
	}

	public static int add(int num0, int num1) {
		return num0 + num1;
	}

	public static void viewResult(int result) {
		System.out.println("합:" + result);
	}

	public static void main(String[] args) {

		greeting();
		int num0 = input();
		int num1 = input();
		int result = add(num0, num1);
		viewResult(result);

		greeting();
		int num2 = input();
		int num3 = input();
		int num4 = input();
		int result1 = add(num2, num3 + num4);
		viewResult(result1);

	}

'java' 카테고리의 다른 글

Java/Swap values and arrays  (0) 2020.01.27
Java/return문;  (0) 2020.01.27
Java/Def of Method/메소드정의  (0) 2020.01.27
Java/Multi-dimensional array/이차원배열  (0) 2020.01.27
Java/Arrays Sort  (0) 2020.01.27