안녕하세요.


지난시간에 함수를 배웠는데 형태가 어땠나요?



함수명()



이렇게 괄호 속에 아무것도 없는 형태였습니다.



함수명(인수)



오늘은 이렇게 인수를 포함하고 있는 함수를 배울건데요, 인수를 다른말로 매개변수, 인자, 파라미터라고도 합니다.


일단 아래 예문을 보시죠.





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package study;
 
import javax.swing.JOptionPane;
 
public class Study01 {
 
    public static void main(String[] args) {
 
        insa("자바");
 
    }
 
    public static void insa(String s) {
 
        System.out.println(s + "야 안녕");
 
    }
cs



결과가 흥미롭군요. 설명 들어갑니다~



insa("자바");



인사 함수의 인수로 "자바"라는 문자값을 넣어줬습니다.

컴퓨터는 이 코드를 접하는 순간, 아래쪽에 정의되어 있는 insa 함수 쪽으로 시선을 돌립니다. 지난시간에는 괄호속에 아무것도 없었는데 이번엔 String s라고 적혀있군요. 컴퓨터는 괄호 속의 String s와 "자바"를 매칭시킵니다.



String s = "자바";



이런 과정이 수행되는 거죠. 그래서 콘솔창에 '자바야 안녕'이 뜨는 겁니다.


다음 예문도 보실까요?






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package study;
 
import javax.swing.JOptionPane;
 
public class Study01 {
 
    public static void main(String[] args) {
 
        round_round(5);
 
    }
 
    public static void round_round(int cnt) {
 
        for (int i = 1; i <= cnt; i++) {
 
            JOptionPane.showMessageDialog(null"빙글");
 
        }
 
    }
cs



이번엔 int cnt = 5 가 수행이 되겠죠?


cnt가 for문의 끝값으로 쓰였으니 5번 반복하게 됩니다.


마지막 예문을 보시죠.





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package study;
 
import javax.swing.JOptionPane;
 
public class Study01 {
 
    public static void main(String[] args) {
 
        age_calc(2000);
 
    }
 
    public static void age_calc(int year) {
 
        int age = 2019 - year + 1;
 
        JOptionPane.showMessageDialog(null"당신의 나이는 " + age + "세입니다");
 
    }
}
 
cs


인풋박스를 없애고 출생년도를 age_calc 함수의 인수로 넣어줬습니다.


어떠신가요? 인수가 없는 함수와 있는 함수의 차이점을 아시겠나요? 경우에 따라서 적당한 함수를 골라서 만드시면 되겠습니다.

다음 시간에는 '리턴 함수'라는걸 배워보겠습니다.

감사합니다.


+ Recent posts