21.11.26
:메서드
①메서드를 만드는 목적
코드가 복잡하거나 반복될 때 편리하게 처리를 하기 위해서
②메서드의 형식
: [접근 제한자+기타 제한자] 리턴 타입 메서드명([전달 변수=파라미터]){처리 문}
┗[ ]는 생략이 가능하다
<매개 변수 선언>
//powerOn()이라는 메소드 선언
void powerOn() {
System.out.println("전원을 켭니다.");
}
//plus()라는 메소드 선언
int plus(int x, int y) {
return x + y;
}
//divide()라는 메소드 선언
double divide(int x, int y) {
return (double)x / (double)y;
}
//powerOff()라는 메소드 선언
void powerOff() {
System.out.println("전원을 끕니다");
}
위의 메소드를 이용할 수 있는 클래스를 만들어준다.
public class CalculatorExample {
public static void main(String[] args) {
//Calculator 라는 객체 생성, 참조 변수 myCalc
Calculator myCalc = new Calculator();
//myCalc 변수에 powerOn()이라는 메소드호출 → 메소드블록 실행
myCalc.powerOn();
//plus() 메소드를 호출하고 결과값을 출력한다.
int result1 = myCalc.plus(5,6);
System.out.println("result1:"+result1);
//divide() 메소드를 호출하고 결과값을 출력한다.
byte x = 10;
byte y = 4;
double result2 = myCalc.divide(x,y);
System.out.println("result2:" + result2);
//poweroff() 메소드를 호출한다.
myCalc.powerOff();
<매개 변수의 수를 모를 경우>
public class Computer {
//int 타입 여러개의 데이터를 받아서 더하는 처리문 작성
//이 Method를 사용하려면 int배열을 넣어야 한다.
int sum1(int[]values) {
//합계변수 초기값 선언
int sum=0;
//인덱스 갯수만큼 반복
for(int i=0; i<values.length; i++) {
//sum = sum + 1
sum += values[i];
}
return sum;
}
//불특정다수 개의 같은 타입 ...을 이용하는 Method
//파라메터를 받는 쪽에서는 배열로 처리된다.
//맨 마지막에 ...이 위치할 시 다른 파라메터와 함께 사용 가능하다.
int sum2(int ... values) {
//합계변수 초기값 선언
int sum = 0;
//인덱스 갯수만큼 반복
for(int i=0; i<values.length; i++) {
//sum = sum + 1
sum += values[i];
}
return sum;
}
}
댓글