JAVA - 메서드

박종휘·2022년 9월 30일
0

JAVA - 국비

목록 보기
10/29
post-thumbnail

1. 메서드

1-1. 프로그램의 시작점

  • java 프로그램이 시작되는 시작점을 의미하는 main은 public, static, void, main, (String[] args)라는 키워드로 구성된 하나의 {...} 블록이다.

1-2. 다른 이름의 메서드 만들기

	f(x) = x + 1
    
    f : 함수이름
    x : 매개변수
    x + 1 : 식
    
    f(1) = 2
    f(5) = 6
    f(10) = 11

1-3. 프로그램의 함수 = 메서드

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

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

1-4. 메서드의 호출

  • 정의된 메서드는 다른 메서드를 구성하는 {...}안에서 다음의 형식으로 사용될 수 있으며, 이를 메서드를 호출한다라고 한다.

    		메서드 이름();

public class Main01 {

	public static void main(String[] args) {
		// 여러번 사용이 가능하다.
		f();
		f();
	}
	
	public static void f() {
		int x = 100;
		int y = x + 1;
		System.out.println(y);
	}
}
result

101
101

1-5. 메서드 파라미터

  • java 프로그램의 메서드(=함수)는 자신이 실행되는 데 필요한 조건값을 메서드 이름 뒤의 괄호안에서 변수 형태로 선언한다. 이를 메서드 파라미터라고 한다.

    		public static void 메서드이름(변수형 변수이름) {
      											L. 메서드 파라미터
              }

1-6. 다중 파라미터

  • 메서드가 연산을 수행하는 데 두 개 이상의 파라미터가 필요하다면 콤마(,)로 구분하여 선언할 수 있다.

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

1-7. 파라미터를 갖는 메서드의 호출

  • 메서드를 정의하면서 파라미터가 명시되어 있다면 해당 메서드를 호출하면서 파라미터를 전달해주어야 한다.

    		메서드이름(값1, 값2, 값3);
      						L. 파라미터 갯수 만큼

public class Main02 {

	public static void main(String[] args) {
		f1(100);
		f1(200);
		plus(2 , 5);
		minus(10, 5);
	}
	public static void minus( int x, int y ) {
		System.out.println(x - y);
	}
	
	public static void f1( int a ) {
		int b = 10;
		System.out.println(a + b);
	}
	
	public static void plus( int x, int y ) {
		System.out.println(x + y);
	}
}

-> 메서드들끼리는 순서가 중요하지 않다
   but main 메서드가 맨위에 있는 것이 좋다.
result

110
210
7
5

1-8. 메서드의 리턴 값

  • 메서드가 연산 결과를 자신이 호출된 위치에 반환하는 것을 "리턴"이라고 하며, 반환되는 값을 "리턴 값"이라고 한다.

  • 메서드 안에서 값을 리턴하기 위해서는 "return"이라는 키워드가 사용된다.

  • 값을 리턴하는 메서드는 선언시에 "void"라는 키워드 대신, 리턴하는 값에 대한 변수형이 명시된다. void는 리턴 값이 없다는 의미다.

    		public static 리턴형 메서드 이름(변수형 파라미터, ...) {
      				return 리턴값; -> void대신 리턴형 작성
      		}

public class Main03 {

	public static void main(String[] args) {
		// 메서드의 리턴값을 변수에 저장
		int z = f1(5);
		System.out.println( z );
        
		boolean result =  f2(10);
		System.out.println( result );
        
		// 리턴값을 출력에 사용
		System.out.println( f2(10) );
	}
	
	public static int f1( int x ) {
		int y = x + 1;
		return y; // 값을 f1(5)에 대입한다.
	}
	
	public static boolean f2( int x ) {
		if( x > 5 ) {
			return true;
		} else {
			return false;
		}
	}
}

-> 일반 메서드들끼리도 호출 가능하다.
result

6
true
true

1-9. 두 개의 함수를 연립하여 사용하기

	f1(x) = x + 1
    f2(y) = f1(y) + 10
    k = f2(5)
    -> f1(5) + 10
    -> 5 + 1 + 10
    -> 16

1-10. 메서드 간의 상호 호출

  • JAVA의 메서드 역시 서로 호출하는 것이 가능하다. 호출된 메서드가 값을 리턴하는 경우, 리턴받은 값을 다른 연산에 사용할 수 있다.

package method;

public class Main04 {

	public static void main(String[] args) {
		System.out.println( f2(100) );
	}
	
	public static int f1( int x ) {
		return x + 1; // 연산을 바로 리턴 가능
	}
	
	public static int f2( int x ) {
		// 다른 메서드의 호출
		return f1(x) + 1;
	}
}

-> f2(100)f2(int x)f1(x)f1(int x)f1(x)f2(100)
result

102
profile
개린이의 개발 고수되기 작전!

0개의 댓글