본문 바로가기

Java/객체지향 프로그래밍

메서드

728x90

메서드란?

어떤 값을 입력하면 이 값으로 작업을 수행해서 결과를 반환하는 것.

작업을 수행하는 일련의 문장들을 하나로 묶는다.

 

사용하는 이유

1. 높은 재사용성

2. 중복된 코드 제거

3. 프로그램의 구조화

 

 

  • 메서드의 선언과 구현

 

1. 선언부

2. 구현부

 

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

int add (int a, int b)                // 선언부
{
  int result = a + b;                 // 구현부
  return result;
}

 

메서드 선언부

- 메서드이름

- 매개변수 선언

- 반환타입

 

매개변수 선언 : 매서드가 작업을 수행하는데 필요한 값들을 제공받기 위한 것.

 

메서드의 이름 : 함축적이면서도 의미있는 이름을 짓도록 노력해야 한다.

 

반환타입 : 출력타입을 말한다.

- 반환 타입이 없다면 void

예) 구구단 전체를 출력할 때

작업을 수행하는데 필요한 값, 결과인 반환값도 필요없다. 그래서 void를 쓴다.

 

return문

void가 아닌 경우, {} 안에 반드시 'return 반환값'을 반드시 써줘야한다.

작업을 수행한 결과인 반환값을 호출한 메서드로 전달하는데 이 값의 타입은 반환타입과 일치해야한다.

 

 

  • 메서드의 호출 (먼저 인스턴스 생성을 한 뒤 메서드를 호출한다.)

 

호출하는 방법 : 메서드 이름 (값1, 값2, ...);

 

인자와 매개변수

인자() : 메서드를 호출할 때 괄호 안에 지정해준 값

개수와 순서는 선언된 매개변수와 일치해야 한다.

 

인자는 메서드가 호출되면서 매개변수에 대입되므로, 인자의 타입은 매개변수의 타입과 일치하거나 자동 형변환이 가능한 것이여야 한다.

 

 

  • return문

 

 

현재 실행중인 메서드를 종료하고 호출한 메서드로 되돌아간다.

void일 경우는 return문이 생락된 것.

반환값이 있는 경우, 반드시 return문이 있어야 한다.

 

반환값 : 주로 변수가 오긴 하지만 수식도 올 수 있다.

(계산 한 결과가 반환된다는 뜻)

 

 

 

(매개변수의 유효성 검사 : 적절하지 않는 값이 매개변수를 통해 넘어온다면 매개변수의 값을 보정하던가, 보정하는 것이 불가능하다면 return문을 사용해서 작업을 중단하고 호출한 메서드로 되돌아가야한다.)

-> 그래서 if 문으로 xx일 경우 유효하지 않으니 return문으로 메서드를 종료한다.