메서드(함수)
;기능을 일정영역으로 묶어서 사용하기 쉽도록 만든것
조건
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 |