프로그래밍 언어/자바의 정석 기초편
자바의 정석 기초편 ch6-17~19 메서드호출
life grow
2022. 7. 28. 16:19
6-17 메서드의 호출
메서드를 호출해야만 구현부{}의 문장들이 수행된다.
인수, 인자: 메서드를 호출할 때 괄호() 안에 지정해준 값들
매개변수: 메서드를 호출한 쪽에서 준 값을 add메서드한테 전달하는 중간 역할
인자의 개수와 순서는 호출된 메서드에 선언된 매개변수와 일치해야 한다.
매개변수의 개수가 다르거나 타입이 다르면 컴파일러가 경고를 한다.
(자동형변환 되는건 가능)
6- 18 메서드의 실행 흐름
6-19 메서드의 실행 흐름 예제
작업을 마치면 호출한 곳으로 돌아온다.
1. add메서드에게 내가 3 하고 5를 줄테니까 더해서 나한테 줘
2. add메서드가 그 값을 받아다가 구현부에 문장들을 실행하고 작업을 마친다.
3. 작업을 마치고 돌아와서 작업의 결과물을 mm.add(5L, 3L)에 돌려준다.
예제 코드
import java.util.Scanner;
public class TruckExam {
public static void main(String[] args) {
MyMath mm = new MyMath();
long max = mm.max(5L, 3L);
long min = mm.min(5L, 3L);
long result1 = mm.add(5L, 3L);
long result2 = mm.subtract(5L, 3L);
long result3 = mm.multiply(5L, 3L);
double result4 = mm.divide(5L, 3L);
System.out.println("max(5L, 3L) = " + max);
System.out.println("add(5L, 3L) = " + result1);
System.out.println("subtract(5L, 3L) = " + result2);
System.out.println("multiply(5L, 3L) = " + result3);
System.out.println("divide(5L, 3L) = " + result4);
}
}
class MyMath {
long add(long a, long b) {
long result = a + b;
return result;
}
long max(long a, long b) {
return a > b ? a : b;
}
long min(long a, long b) {
return a < b ? a : b;
}
long subtract(long a, long b) { return a - b; }
long multiply(long a, long b) { return a * b; }
double divide(double a, double b) {
return a / b;
}
}