메서드

9mond·2023년 7월 9일
0
post-thumbnail

1. 메서드란

  • 특정 기능(=연산)을 그룹화 해서 재사용하기 위한 단위
	public static void 메서드이름(){
		...수행할 연산식...
	}
1) 
	public static void minus() {
		int x = 100;
		int y = 200;
		System.out.println(x - y);
	}
2)
	public static void plus() {
		int x = 100;
		int y = 200;
		System.out.println(x + y);
	}

2. 메서드의 호출

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

    	메서드이름();

3. 메서드의 파라미터(매개변수)

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

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

4. 다중 파라미터

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

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

  • 메서드를 정의하면서 파라미터가 명시되어 있다면 해당 메서드를 호출하면서 파라미터를 전달해 주어야한다.
	public static void 메서드이름(변수형 변수이름, 변수형 변수이름){...};

	메서드이름(1,2);

6. 값을 반환하는 메서드

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

7. 메서드 간의 상호 호출

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

    예시)
    	/*
    	 *  사칙연산 메서드 생성
    	 *   -> +, -, *, / 각각의 메서드 생성(4건), return, param int 2개,
    	 *   -> main()에서 각각 메서드 호출 return 결과 출력
    	 */
    	
    	
    	public static void main(String[] args) {
    		System.out.println(plus(10, 10));
    		System.out.println(minus(10, 10));
    		System.out.println(times(10, 10));
    		System.out.println(divide(10, 10));
    		
    	}
    	
    	public static int plus(int x, int y) {
    		return x + y;
    	}
    	public static int minus(int x, int y) {
    		return x - y;
    	}
    	public static int times(int x, int y) {
    		return x * y;
    	}
    	public static int divide(int x, int y) {	// 소수점까지 원하는지 물어봐야한다. 
       												// 0 넣었을 때 error => 개발자 필수 체크사항
    		int result = 0;
    		if( y != 0 ) {
    			result = y;
    		    return x / y;
    		}else {
    			return result;
    
    	}
profile
개발자

0개의 댓글