상세 컨텐츠

본문 제목

[JAVA] 메소드

Programming language/JAVA

by 주초위왕 2023. 8. 26. 21:30

본문

메소드

 - 자바에서는 function과 같은 개념

 - 자바는 모든 것이 클래스의 요소이므로 메소드 method라고 부름

 

메소드의 의미1 반복의 최소화

 - 한 번 이상 실행될 수 있는 일련의 작업들을 묶어두는 것.


위에서 메소드의 의미1의 예제를 들어보자

 

기본 출력문 println()은 변수의 값을 그대로 출력하므로, 값을 변환하지 않고는 다른 형식으로 출력할 수 없다.

반면에, printf()는 지시자를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력할 수 있으므로 이번 예제에서는 printf()사용해봄

 

%n : 줄바꿈 기능

%f : 소수점 형식으로 출력

        double x = 1, y = 2;

        System.out.printf("%f + %f = %f%n", x, y, x + y);
        System.out.printf("%f - %f = %f%n", x, y, x - y);
        System.out.printf("%f * %f = %f%n", x, y, x * y);
        System.out.printf("%f / %f = %f%n", x, y, x / y);

        x = 3; y = 4;

        System.out.printf("%f + %f = %f%n", x, y, x + y);
        System.out.printf("%f - %f = %f%n", x, y, x - y);
        System.out.printf("%f * %f = %f%n", x, y, x * y);
        System.out.printf("%f / %f = %f%n", x, y, x / y);

        x = 5; y = 6;

        System.out.printf("%f + %f = %f%n", x, y, x + y);
        System.out.printf("%f - %f = %f%n", x, y, x - y);
        System.out.printf("%f * %f = %f%n", x, y, x * y);
        System.out.printf("%f / %f = %f%n", x, y, x / y);
        

<실행결과>
1.000000 + 2.000000 = 3.000000
1.000000 - 2.000000 = -1.000000
1.000000 * 2.000000 = 2.000000
1.000000 / 2.000000 = 0.500000
3.000000 + 4.000000 = 7.000000
3.000000 - 4.000000 = -1.000000
3.000000 * 4.000000 = 12.000000
3.000000 / 4.000000 = 0.750000
5.000000 + 6.000000 = 11.000000
5.000000 - 6.000000 = -1.000000
5.000000 * 6.000000 = 30.000000
5.000000 / 6.000000 = 0.833333

 

이 반복적인 작업을 메소드로 만들어보기

반복적으로 일어나는 작업을 add라는이름을 준 메소드에 넣고 묶어놓기.

add를 호출 하고 계산되고 싶은 숫자를 대입하기.

public class Ex01 {
    public static void main(String[] args) {
        double xx = 3, yy = 4;
        add(xx, yy);

        xx = 10;
        yy = 2;
        add(xx, yy);

        xx = 7;
        yy = 5;
        add(xx, yy);
    }
     
        static void add (double a, double b) {
            System.out.printf("%f + %f = %f%n", a, b, a + b);
            System.out.printf("%f - %f = %f%n", a, b, a - b);
            System.out.printf("%f * %f = %f%n", a, b, a * b);
            System.out.printf("%f / %f = %f%n", a, b, a / b);

        }
}


메소드의 의미 2. 값을 받고 연산하여 결과값을 반환 - 함수

 

add라는 메소드는 과로 안에 두개의 변수를 가지고 있는데 이것을 인자 라고함 num1,  num2  이것들을 외부에서 받아온다. 그리고 이 둘을 더한 값을 return에 리턴. return이 없으면 아무것도 반환하지 않음.

 

1. 2랑3이 각각 num1, num2에 들어가고 num1+num2로 계산되어 return으로 들어가고 int1으로 들어가서 5출력

2. 4랑5가 num1, num2로 들어가서 num1+num2로 계산이 되고 return을 거치고 println(add(4, 5));여기로 리턴이 되서 9출력

3. add(add(6, 7)이 13을 반환하고 add(8, 9));이 17을 반환하면 add(13, 17) add가 실행문으로 들어왔기 때문에 이둘이 합쳐서 30이 결과로 나옴.

        int int1 = add(2, 3);
        System.out.println(int1);
        
        System.out.println(add(4, 5));

        int int2 = add(add(6, 7), add(8, 9));
        System.out.println(int2);


 static int add (int num1, int num2) {
 return num1 + num2;

}

<실행결과>
5
9
30


여기서 알아야 할 점

첫번째 메소들을 예제로 들때는

static void add (double a, double b)라고 작성했지만, 두번째에서는 static int add (int num1, int num2)로 작성하였다.

쓰여지는 의미를 알고 지나가기.

반응형

관련글 더보기

댓글 영역