메서드를 호출해야 괄호 안 문장 실행됨
<메서드 호출 방법>
메서드 이름을 먼저 작성
메서드가 작업하는데 필요한 값을
괄호안에 적어준다
(없을 때는 아무것도 안써도 됨)
ex) print99danAll();
구구단을 출력하는데
딱히
add 메서드의 경우엔 값이 2개 있음
(덧셈 하려면 필요한 값들)
값 두 개 주면 int 값 출력 한다는 뜻
print99danAll 메서드의
반환타입은 void
즉, 출력이 없다는 뜻.
내가 작업을 수행하고
그 결과를 줄 게 없다는 의미
<add 메서드 호출 예시>
3하고 5가
매개변수의 x와 y에 대입됨
3+5 의 값 8이
int result 에 저장된다
그리고 result 변수가
메서드 수행 결과로 반환된다
(return)
메서드 호출할 때
int result
이 부분이 없어도 된다
뒤에 add(3,5)가 메서드 호출 부분이니까
print99danAll과 달리
작업 결과 저장이 필요해서
add는 변수가 필요 (result)
int x 와 int y : 매개변수
메서드를 호출한 쪽에서 준 값을
add 메서드한테 전달하는
중간역할
(중간 매개체 역할)
을 하기 때문
"파라미트"
라고도 함
<MyMath라는 클래스를 사용하는 사칙연산 예제>
먼저 class를 작성하고
객체를 생성하고
객체가 가진 메서드들을 사용(메서드 호출)
add 메서드를 호출하면
5하고 3이 하단의 a, b로 복사된다
a = 5
b = 3
8 이 result에 들어간다
그리고 result를 결과로 반환함
다시 호출했던 곳으로 돌아간다
그러면
long result1 = 8;
이 된다
심부름 시키고 다시 돌아오는 느낌
메서드는 클래스 영역에만 정의 가능
8을 변수에 저장한다음에
반환(return)
위의 두 줄을 return a + b 와 같이
간단히 한 줄로 할 수 있다
<메서드가 호출됐을 때 실행흐름 정리>
1) 객체(인스턴스)를 생성한다
2) 메서드를 호출한다
add 메서드를 호출하는데
add 메서드들을 작업 때
필요한 값들을 준다
그러면 값들이 매개변수에 복사됨
(long a, long b)
아까처럼 호출한 곳으로
result 값이 되돌아 감
그럼 3L이 value에 대입됨
'> 프로그래밍 언어 > JAVA' 카테고리의 다른 글
[ch11-22~24] Iterator, Enumeration, Map과 Iterator (0) | 2023.01.25 |
---|---|
[ch6-20,21] return문, 반환 값 (0) | 2023.01.24 |
[ch6-14~16] 메서드란? 메서드의 선언부와 구현부 (0) | 2023.01.23 |
[ch6-12,13] 클래스 변수 인스턴스 변수 (0) | 2023.01.23 |
[ch11-15~18] Stack과 Queue (0) | 2023.01.23 |