메서드란?
1.문장들을 묶은 것
2.값을 받아서 처리하고,결과를 반환

반환타입 메서드이름(매개변수) { <= 선언부
메서드 호출시 수행될 문장들 <= 구현부
}

매개변수는 0~n개 가능
return값은 0~1개

int add(int x,int y) {
int result = x+y;
return result;
} //여기서 지역변수는 x,y,result

//return값이 없는 메서드는 void를 붙인다
void int multiply(int x,int y) {
int result = x*y; }

지역변수(lv):메서드 내에서 선언된 변수
lv의 범위는 각 메서드 내이다.
그래서 메서드끼리 lv이름이 같아도 상관없다.

메서드의 장점

  • 코드의 중복을 줄일 수 있다.
  • 코드의 관리가 쉽다.
  • 코드를 재사용할 수 있다.
  • 코드가 간결해서 이해하기 쉬워진다.

메서드 작성

  • 반복적인 문장이거나 여러문장을 메서드를 작성
  • 하나의 메서드는 한가지 기능만 수행하도록 작성

메서드 호출

  • 메서드이름(매개변수1,매개변수2,...);
  • 매개변수(parameter):작업에 필요한 값
  • printGugudan(); return값이 없는 void메서드 호출
    int result = add(2,3); 리턴값이 있는 메서드를 호출했으니
    변수에 리턴값을 저장해야함

return문

  • 실행 중인 메서드를 종료하고 호출한 곳으로 돌아간다.

  • void메서드일때만 생략가능

    	public class Oop07_method {
    
    	 public static void main(String[] args) {   
    	//3.메서드 호출
    		int result1 = m.add(6, 3);
    		int result2 = m.subtract(6, 3);
    		int result3 = m.multiply(6, 3);
    		double result4 = m.divide(6, 3);
    		m.printGugudan(3);
    		int result5 = m.max(7,15);
    	
    		System.out.println("add(6,3)= "+result1);
    		System.out.println("subtract(6,3)= "+result2);
    		System.out.println("multiply(6,3)= "+result3);
    		System.out.println("divide(6,3)= "+result4);
    		System.out.println("max(7,15)= "+result5);
    	 }
    	}
    
    	//1.클래스 작성(메서드 작성)
    	class MyMath{
    
    	void printGugudan(int dan) {
    		if(!(2<=dan && dan<=9))//2~9사이가 아니면
    			return;//입력받은 단이 2~9가 아니면 메서드종료하고 돌아가기
    		
    		for(int i=1;i<=9;i++) {
    			System.out.printf("%d * %d = %d%n",dan,i,dan*i);
    		}
    		//return; 생략가능 반환타입이 void니까
    	}
    
    	//void아닌 메서드 반드시 리턴값 필요!
    	int max(int a,int b) {
    		if(a>b) {
    			return a;//조건식이 참일때 실행
    		}else { 
    			return b;//조건식이 거짓일때 실행
    		}
    	}
    
    	int add(int a,int b) {
    		int result = a+b;
    		return result; // = return a+b;
    	}
    	int subtract(int a,int b) {
    		return a-b; 
    	}
    	int multiply(int a,int b) {
    		return a*b; 
    	}
    	double divide(double a,double b) {
    		return a/b; 
    	  }
    	}
profile
공부하고 기록하는 블로그

0개의 댓글