Java/Java(base)

[Java] 메소드 Method

ID_DI 2021. 11. 29. 15:43

메소드

이름 뒤에 소괄호

단. 키워드 뒤의 소괄호는 메소드가 아니다.

  1. 반복되는 기능, 코드, 행위를 쉽게 관리하기 위해서 사용
  2. 함수로 구성

메소드의 구조

1리턴타입 2메소드명(자료형 3매개변수1, 자료형 매개변수2,...){
    4호출시 실행할 문장
    5return 리턴값;
}

1 : return 뒤의 값의 타입에 맞는 자료형을 작성해준다.

​ * return 값이 없을 떄에는 void 로 작성해준다.

2 : 동사형으로 작성하는 것을 권장 ex) eat("치킨") eat("밥")

3 : 생략 가능; 생략시에는 외부(사용하는 곳)에서 값을 전달 받을 수 없고, 여러개의 값을 전달받아야할 떄에는 ',' 로 구분하여 값의 개수만큼 선언해준다. 사용시에는 매개변수의 타입과 개수에 맞게 순서대로 값을 전달해주어야한다.

4 : 생략 가능;

5 : 생략 가능

class 안에 메인 밑에 위치

메소드 선언 순서 tip 정석

ex) 두 정수의 덧셈 메소드

  1. 메소드 명(목적성) 생각한다.

    • void add(){ }
  2. 매개변수를 생각하다.

    • void add(int num1, int num2){ }
  3. 실행할 문장(목적성을 달성할 문장)을 생각한다.

    • void add(int num1, int num2){ int result = num1 + num2 }
  4. return 값을 생각한다.

    • void add(int num1, int num2){ int result = num1 + num2 return result}
  5. return 타입을 생각한다.

    int add(int num1, int num2){
        int result = num1 + num2;
        return result;
    }

메소드 사용

메소드는 클래스 내부에 있으므로, 그 메소드가 속해 있는 클래스 타입으로 먼저 변수를 만들어 주어야 한다.(객체화를 진행해주어야 한다.)

클래스명 변수명 = new 클래스명();

변수.메소드();    //매개변수가 선언되지 않은 경우
변수.메소드(값1,값2,...)    //매개변수가 선언된 경우
  • 메소드에 매개변수가 선언된 경우에는 개수와 타입에 맞게 값을 넘겨주어야 한다.(순서와 개수 타입)
  • 메소드 사용 부분은 선언부에 return 값이 있다면, 사용한 부분 통째로를 그 리턴값으로 봐야한다. 단, return 값이 없다면 절대 값으로 봐서는 안된다.

return을 사용해야 할 떄, 사용하지 않아도 될 떄

사용해야 할때
  • 메소드 내부에 모든 기능이 구현되지 않을 때
  • 사용하는 부분에서 아직 할 작업이 남았을 떄
  • 메소드 기능의 결과를 사용하는 부분에 알려주어야 할 때
사용하지 않아도 될 때
  • 메소드 내부에서 출력까지 모든 기능이 다 구현되어 있을 때