JAVA/수업 복습

자바 공부기록 28 - 메소드 - return값

본이qq 2022. 4. 20. 16:53

●return 값

 -예제 ) 최댓값을 출력하는 max 메서드를 만들고, 그 최댓값 하나를 반환시켜보자 

1
2
3
4
5
6
7
8
9
10
11
12
public static int max (int a, int b , int c ) {
        int max = 0;
        if(a>b) max = a;
        else max = b;         // max = (a>b)? a:b;
                                     // max = (c>max)? c:max;
        if(c>max) max = c;
        
        //System.out.println("세개중 가장 큰 숫자는 : " + max);
        
        return max;
        
        }
cs

                      -void값을 return의 자료형으로 바꿔준것에 유의

 

 

 

 

 

-return된 결과값을 main 메서드에서 printf해보자.

 

1
2
3
4
public static void main(String[] args) {
        int maxValue = max(103467); //마찬가지로 return 값의 변수 이름과 꼭 같지 않아도됨
        
        System.out.printf("%d %d %d 중 가장 큰 숫자는? -> %d\n"10,24,67,maxValue);
cs

 

         -main 메서드에서 정수형 변수 maxValue를 만들어 return값을 받았다. 

          (max 메서드에서 최댓값의 변수명은 max이지만 마찬가지로 main에서 받는 변수 이름도 똑같이

          할 필요가 없다 ( 지역변수이므로 당연한 얘기)

 

 

 

 

 

 

 

-또한 메소드 실행의 결과(리턴값)는 변수에 저장할 수 있을 뿐만 아니라
  다음과 같이 다른 메서드의 구성으로 사용할 수도 있습니다.

1
2
3
public static void main(String[] args) {
        
        System.out.printf("%d %d %d 중 가장 큰 숫자는? -> %d\n"65,87,12,max(65,87,12));
cs

               -retrun받은 값을 정수형 변수에 따로 저장하지 않고도 System.out.printf()라는 메서드 안에서 바로 

                사용이 가능하다.

 

 

 

 

 

 

●메서드 사용에 따른 메서드 형태

 

//abc() - 전달인수 없고 리턴값도 없는 형태
//abc(10,20) - 전달인수 2개, 리턴값 없음
//k = abc() - 전달인수 없고, 리턴값 있는 형태
//k = abc(10,20) - 전달인수 2개, 리턴값 있는 형태

 

 

 

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
개발자 필요에 의해 만들어지는 메서드는 반드시 클래스에 정의되어야 하며
생성된 메서드 간에는 자유롭게 서로를 호출하여 사용할 수 있습니다.
그들은 그들을 둘러싼 클래스에 속해 있는 멤버들이라고도 부릅니다
다만 서로를 자유롭게 호출하는 대상에서 main 메서드는 제외합니다
main을 호출한다는건 프로그램을 시작한다는 뜻이며, 개발자에 의해 임의호출될 수 있습니다.
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※