# 메소드 호출과 정의
일련의 코드 묶음을 간편하게 실행할 순 없을까?
## 실생활 메소드들
---
자판기에 돈을 넣으면, 음료가 나온다. 햄버거 세트 메뉴도 번호만 알려주면 주문이 된다. 프로그래밍 또한 마찬가지다. 일련의 코드를 단순화하여 사용할 수 있다. 이를 메소드(methods)라 한다
![클라우드스터딩-자바-실생활-메소드-자판기](https://i.imgur.com/MJEyZXp.png)
## 메소드
---
일련의 코드를 단순화한 문법. 이를 메소드라 한다. 메소드는 입력에 따른 결과를 반환한다.
![클라우드스터딩-자바-메소드-정의-및-특징](https://i.imgur.com/6h6rXH9.png)
## 메소드 호출
---
만들진 메소드를 사용하는 것. 이를 메소드 호출이라 한다. 아래는 절댓값, 반올림을 반환하는 예이다.
![클라우드스터딩-자바-메소드-호출-예-Math-abs-round](https://i.imgur.com/9RupKMx.png)
## 메소드 정의
---
#### 메소드를 사용하기에 앞서
메소드를 사용하려면, 먼저 만들어져 있어야 한다. 다시 말해, 메소드가 정의돼 있어야한다.
#### 메소드 구조
메소드를 만들려면, 그 구성 요소를 알아야 한다. 메소드는 크게 4가지로 이루어져 있다. ① 메소드명(methods name)은 호출 시 사용한다. ② 입력 변수(parameters)는 입력 값을 저장한다. ③ 반환 값(return value)은 반환될 값이다. ④ 반환 타입(return type)은 반환 값의 타입이다.
![클라우드스터딩-자바-메소드-구성-요소-구조](https://i.imgur.com/Kt460X3.png)
## 메소드 만들기
정수값의 제곱을 반환하는 메소드를 만들어보자.
![클라우드스터딩-자바-메소드-생성-만들기-square-제곱](https://i.imgur.com/AEv0oRV.png)
이를 위해 먼저, ①메소드명을 `square`로 작성한다.
```
public static ④TYPE square(②PARAMETER) {
...
return ③VALUE;
}
```
다음으로 호출 시, 입력되는 정수 3을 받기 위해 ②파라미터(입력 변수) `int n`을 추가한다.
```
public static ④TYPE square(int n) {
...
return ③VALUE;
}
```
이제 제곱값을 만들기 위한 일련의 코드를 작성하고, 최종 ③반환 값을 지정한다.
```
public static ④TYPE square(int n) {
int result;
result = n * n;
return result;
}
```
마지막 반환 값의 ④타입을 정의한다.
```
public static int square(int n) {
int result;
result = n * n;
return result;
}
```
이제 square() 메소드는 아래와 같이 호출 가능한다.
```
int z = square(4); // 입력: 4 => 반환: 16
System.out.println(z); // 16
```
## 요약
---
![클라우드스터딩-자바-메소드-요약](https://i.imgur.com/Cmooiyi.png)
- 메소드는 일련의 코드를 단순화한다.
- 메소드는 입력에 따른 결과를 반환한다.
- 메소드는 호출부와 정의부로 나뉜다.
- 메소드의 구성 요소는 이름 / 입력 변수 / 반환 값 / 반환 타입이다.
## 확인하기
---
<div class="interact_responsive_padding" style="padding:100% 0 0 0;position:relative;margin-bottom:5px;"><div class="interact_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><iframe id="interactApp5cb49ff3449a47001474b34e" width="100%" height="100%" style="border:none;max-width:100%;margin:0;" allowTransparency="true" frameborder="0" src="https://quiz.tryinteract.com/#/5cb49ff3449a47001474b34e/q/1?method=iframe"></iframe></div></div>
## 도서구매
<a href="http://www.yes24.com/Product/Goods/104740689"><img src="http://image.yes24.com/goods/104740689/XL" width="50%" /></a>