Programming/Java

[JAVA] 자바의 메서드(Method)

Supreme_YS 2021. 10. 8. 17:20

남궁성님의 자바의 정석 강의를 기반으로 작성했습니다.


- 메서드란 작업단위로 문장을 묶어놓은 것

 

- 메서드와 함수의 차이

* 메서드는 반드시 클래스 안에 들어가있어야 하지만 함수는 클래스에 독립적입니다. 근본적으로 똑같긴 합니다.

 

- 메서드의 장점

* 코드의 중복을 줄일 수 있습니다.

* 코드의 관리가 쉽습니다.

* 코드를 재사용할 수 있습니다.

* 코드가 간결해서 이해가 쉬워집니다.

 

- 메서드 작성

* 반복적으로 수행되는 여러 문장을 메서드로 작성

* 하나의 메서드는 한 가지 기능만 수행하도록 작성

 

- 메서드 구성 : 선언부 + 구현부

반환타입 메서드이름 (타입변수명, 타입변수명, ...)  // 선언부

{	
	// 메서드 호출시 수행될 코드            // 구현부
}

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