Java 메서드에 대한 이해

박현우·2023년 12월 22일

1. 메서드
1-1. main 메서드

  • 프로그램의 시작점

1-2. 메서드

  • 프로그램의 함수 = 메서드

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

    	public satic void 메서드이름(){
    		....
    	}

1-3. 메서드의 호출

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

    	메서드이름();

1-4. 매서드 파라미터

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

    	public static void 메서드이름(변수형 변수이름){
    		....
    		}
    
    		public static void main(String[] args) {
    		plus();
    		minus();		
    		plus();
    		minus();
    	
    		}
    		public static void plus() {
    		int num = 10;
    		int num2 = 20;
    		System.out.println(num + num2);
    		}
    
    		public static void minus() {
    		int num = 50;
    		int num2 = 10;
    		System.out.println(num-num2);		;		
    	
    		}

1-5. 다중 파라미터

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

    	public static void 메서드이름(변수형 변수이름, 변수형 변수이름, 변수형 변수이름){
    		....
    	}
    
    		public static void main(String[] args) {
    		//두 파라미터의 합을 출력하는 메서드를 생성 및 호출
    		/*
    		 * plus(10, 20); -> 30
    	 
    		plus(10, 20);
    		minus(10, 20);
    		//두 파라미터의 차를 출력하는 메서드를 생성 및 호출
    				/*
    				 * minus(10, 20); -> -10
    				 */
    	
    			}
    		public static void plus(int num1, int num2) {
    			System.out.println(num1+num2);
    		}
    	
    		public static void minus(int num3, int num4) {
    			System.out.println(num3-num4);
    		}
    	

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

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

    		public static void 메서드이름(변수형 변수이름){...};
    		public static void 메서드이름(int num){...};
    		->
    		메서드이름(값1);
    		메서드이름(10);
		public static void 메서드이름(int num, boolean user){...};
		->
		메서드이름(값1, 값2);
		메서드이름(65, true);

1-7. 값을 반환하는 메서드

  • 메서드의 리턴값

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

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

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

    	public static 리턴형 메서드이름(변수형 파라미터1,...){
    		...
    		return 리턴값;
    		}
	public static void main(String[] args) {
    System.out.println(plus(10,20));
    int a  = plus (20, 30);
    System.out.println(a);
    
	System.out.println("===================");
	int b = plus(plus(10, 20), 30);
	System.out.println(b);
	}

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

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

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

    public static 리턴형 메서드1(변수형 파라미터1){
    	...
    	return 리턴값;
    }
    
    public static 리턴형 메서드2(변수형 파라미터1){
    	int k = 메서드1(값1);
    	return k;
    }
    
    	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;
    }
    102가 도출된다.

    }

0개의 댓글