min's devlog
메소드(Method) 본문
메소드 (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 |