남궁성님의 자바의 정석 강의를 기반으로 작성했습니다.
- 메서드란 작업단위로 문장을 묶어놓은 것
- 메서드와 함수의 차이
* 메서드는 반드시 클래스 안에 들어가있어야 하지만 함수는 클래스에 독립적입니다. 근본적으로 똑같긴 합니다.
- 메서드의 장점
* 코드의 중복을 줄일 수 있습니다.
* 코드의 관리가 쉽습니다.
* 코드를 재사용할 수 있습니다.
* 코드가 간결해서 이해가 쉬워집니다.
- 메서드 작성
* 반복적으로 수행되는 여러 문장을 메서드로 작성
* 하나의 메서드는 한 가지 기능만 수행하도록 작성
- 메서드 구성 : 선언부 + 구현부
반환타입 메서드이름 (타입변수명, 타입변수명, ...) // 선언부
{
// 메서드 호출시 수행될 코드 // 구현부
}
int add (int a, int b)
{
int result = a + b;
return result; // 호출한 메서드로 결과를 반환
}
- 메서드 입력 : 0~n개
- 메서드 출력 : 0~1개이며 여러개일 경우엔 ? -> 배열이나 객체로 묶어서 출력해야 합니다.
- 반환값이 없을 땐 반환타입에 void를 작성합니다.
- 메서드 영역의 지역변수 (아래 예시에서 a, b, result)
int multiply(int a, int b) {
int result = a * b;
return result;
}
- 메서드 호출
public class Method {
public static void main(String[] args) {
Operations op = new Operations();
int addResult = op.add(1, 2);
System.out.println(addResult);
int multiResult = op.multiply(1, 2);
System.out.println(multiResult);
op.divide(3, 2);
}
}
class Operations {
int add(int a, int b) {
int result = a + b;
return result;
} // int 값을 return 형으로 선언했으니 return 값이 메서드내에 필요하다.
int multiply(int a, int b) { return a * b; }
void divide(int a, int b) {
System.out.println(a/b);
} // 하지만 반환타입이 void이므로 return값을 선언하지 않을 수 있다.
}
1. 객체 생성
2. 메서드 호출
3. 연산 후 return
'Programming > Java' 카테고리의 다른 글
[JAVA] 오버로딩(Overloading) (0) | 2021.10.11 |
---|---|
[JAVA] return문, return, 리턴문, 호출스택 (0) | 2021.10.09 |
[JAVA] 클래스 변수와 인스턴스 변수 (0) | 2021.10.08 |
[JAVA] 자바의 클래스 (0) | 2021.10.08 |
[JAVA] 자바의 객체지향 (0) | 2021.10.08 |