메소드(method)

2020. 3. 10. 14:38자바 Java/자바 공부 java study

반응형

메소드(method)란

 

보통 다른 언어엣는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재할수 없기 때문에 자바의 함수는 따로 존재 하지 않고 클래스 내에 존재 한다. 이 클래스 내의 함수를 메소드 라고 한다. 

 

 

메소드의 구조

 

public 리턴자료형 메소드명(입력자료형1 입력변수1,입력자료형2 입력변수2,...){

        ...

      return 리턴값;  //  리턴 자료형이 void 인 경우에는 return 문이 필요없다 .

}

 

 

리턴자료형은 메소드 수행 후 돌려줄 값의 자료형을 의미한다.  메소드의 리턴값은 return 이라는 명령을 사용한다. 

 

메소드는 입출력 유무에 따라 다음과 같이 4가지로 분류 할 수 있다. 

1) 입력과 출력이 모두 있는 메소드 

2) 입력과 출력이 모두 없는 메소드 

3) 입력은 없고, 출력이 있는 메소드 

4) 입력은 있고, 출력은 없는 메소드 

 

 

 

1) 입력과 출력이 모두 있는 메소드

public int sum(int a, int b){
	return a+b; 
}

 

sum 메소드의 입력값 - int a, int b / 리턴값 - int 자료형 

 

위의 메소드 사용방법

리턴값 받을 변수 = 객체.메소드명(입력인수1, 입력인수2)

 

 

 

 

2) 입력과 출력이 모두 없는 메소드 

public void say(){
	System.out.println("Hi")
}

 

say 메소드의 입력값 - 없음/ 리턴 값 - void(없음)

 

위의 메소드 사용 방법

객체.메소드명()

 

 

 

 

3) 입력은 없고, 출력이 있는 메소드 

 

public String say(){
	return "Hi";
}

say 메소드의 입력값 - 없음 / 리턴 값 - String 자료형 

 

위의 메소드 사용 방법

리턴값 받을 변수= 객체.메소드명()

 

 

 

 

4) 입력이 있고, 출력은 없는 메소드 

 

public void sum(int a, int b){
	System.out.println(a+"와"+b+"의 합은 "+(a+b)+"입니다. ");
}

sum 메소드의 입력값- int a, int b/ 리턴 값- void(없음) 

 

위의 메소드 사용방법

객체.메소드명(입력인수1,입력인수2)

 

 

 

 

return 의 또다른 쓰임새 

 

메소드를 빠져나가기를 원하는 특별한 경우에 return 만 단독으로 써서 메소드를 즉시 빠져나갈 수 있다. 

 

public void say_nick(String nick){
	if("food".equals(nick)){
    	return;
    }
	System.out.println("나의 별명은 "+nick+" 입니다.");
}

위의 메소드는 입력값으로 nick 이란 변수를 받아서 문자열을 출력하는 메소드 이다. 이 메소드도 리턴값은 없다. 

이 메소드는 입력값으로 "fool"이라는 값이 들어오면 문자열을 출력하지 않고 메소드를 즉시 빠져나간다. 이렇게 메소드 수행 시 특정 조건에 따라 메소드를 즉시 빠져나가고 싶은 경우 return 문을 이용하면 된다. 

 

( 참고로 return 문만을 써서 메소드를 빠져나가는 이 방법은 리턴 자료형이 void인 메소드에만 해당된다. 리턴 자료형이 명시되어있는 메소드에서 return 문만 작성하면 오류가 발생한다. ) 

반응형