메서드

치로·2024년 7월 17일

메서드

: 특정 기능(=연산)을 그룹화해서 재사용하기 위한 단위

public static void 메서드 이름() {
	...수행할 연산식...
}

1. 메서드의 호출

: 정의된 메서드는 다른 메서드를 구성하는 {...} 안에서 다음의 형식으로 사용

메서드 이름();

2. 메서드 파라미터(=매개 변수) ///중요

: 프로그램의 메서드는 자신이 실행되는데 필요한 조건값을 매서드 이름 뒤의 괄호 안에서 변수 형태로 선언

public static void 메서드 이름(변수형 변수 이름) {
	...
}

public static void 메서드 이름(변수형 변수 이름) {
	...
}

3. 다중 파라미터

///세 개 이상이라면 두 개로 나누기

  • 메서드가 연산을 수행하는개 두개 이상의 파라미터가 필요하다면 ,로 구분하여 선언
public static void 메서드 이름(int num, boolean user, int num2) {
	...
}

4. 파라미터를 갖는 메서드의 호출

/// 순서, 갯수, 데이터 타입 꼭 일치

  • 메서드 정의하면서 파라미터가 명시되어 있다면 해당 메서드를 호출하면서 파라미터를 전달해 주어야 함
메서드 이름(10, ture);

5. 값을 반환하는 메서드

  • 메서드의 리턴값
  • 메서드가 연산 결과를 자신이 호출된 위치에 반환하는 것을 "리턴이라고 하며, 반환되는 값을 "리턴값"이라고함
  • 메서드 안에서 값을 리턴하기 위해서는 "return" 키워드가 사용
  • 값을 리턴하는 메서드는 선언 시에 "void" 키워드 대신, 리턴하는 값에 대한 변수형이 명시
  • void라는 키워드는 리턴값이 없다는 뜻
public static 리턴형 메서드 이름(변수형 파라미터1) {
	...
	return 리턴값;
}

6. 메서드 간의 상호 호출

  • 메서드 역시 서로 호출하는 것이 가능
  • 호출된 메서드가 값을 리턴하는 겨우, 리턴 받은 값을 다른 연산자에 사용 가능

연습 코드

package method;

public class Main01 {

	public static void main(String[] args) {
		plus();
		plus();
		plus();
		plus();
		plus();
		plus();
		plus();
		plus();
		plus();
		plus();
		minus();
		minus();
	}
	public static void plus ()  {
		int x = 100;
		int y = x +1;
		System.out.println("y : " + y);
	}
	public static void minus () {
		int x = 100;
		int y = x-1;
		System.out.println("y : " + y);
		
	}
}
package method;

public class Main02 {

	public static void main(String[] args) {
		plus(10, 20);
		plus(20, 30);
		minus(50, 9);
		minus(78, 57);
		minus(57, 9);
		minus(60, 1);
	}
	
	public  static void plus(int num1, int num2) {
		int result = num1 + num2;
		System.out.println(result);
	}
	// minus라는 이름의, int 차입 파라미터 2개가 정의된 두 파라미터의 뺄셈을 출력해주는 메서드를 정의한 후, main()에서 4번 파라미터 값을 각각 바꿔 호출
	public  static void minus(int num1, int num2) {
		int result = num1 - num2;
		System.out.println(result);
	}
}
package method;

public class Main03 {

	public static void main(String[] args) {
		plus(1, 2);
		// 리턴값을 출력에 사용
		System.out.println(plus(1, 2) );
		// 리턴값을 변수에 저장
		int result = plus(2, 3);
		System.out.println(result);
	}

	public static int plus(int num1, int num2) {
		int result = num1 + num2;
		return result;
	}
}
package method;

public class Main04 {

	public static void main(String[] args) {
		System.out.println(f1(10)); // 11
		System.out.println(f2(1)); // 102
	}

	public static int f1(int x) {
		return x + 1;
	}

	public static int f2(int x) {
		return f1(x) + 100;
	}
	
}

0개의 댓글