함수
함수는 자주 사용되는 코드를 분리해서 필요할 때마다 호출해 사용하는 방법이다.
자바에서는 메서드만 존재한다. 코드를 모듈화할때 사용한다.
입력 ----- | -------------------> | 기능 | 출력 | --------------> |
파라메터 함수가 밖에서 필요한 값을 받아오는 함수 |
return 문을 통해서 값 반환, return res; |
int add(inta, int b){
int c = a +b;
return c;
}
return; //이 값을 반환하고 끝내라, 반환은 하나만 가능하다.
함수 정의
<반환타입> 함수명 (파라메터) {
함수에서 실행할 문장들;
}
반환타입 : 메서드가 반환하는 값의 타입
ex) 메서드가 int 반환 시, Int. 'a'를 반환하면 char 타입. "asdf"를 반환하면 String 타입. 아무것도 반환하지 않으면 void.
- 함수는 반환하는 값의 타입으로 변경
- 아무런 값도 반환하지 않을 경우 void
함수명 : 자바 이름 명명 규칙에 맞게 생성한다.
파라메터 (매개변수) : 외부에서 필요한 값을 받아올 변수를 나열한다.
- 외부값은 서로 달라져도 된다.
파라메터가 필요하지 않으면 공백으로 둬도 된다.
블록 : 함수가 실행할 코드
void f1(){
sysout("test");
}
- 함수명 f1 / 반환값 없음 (void) / 외부에서 값을 안 받아옴
- return 이 없어도 실행할 것이 없으면 종료된다.
int add(int a, int b){
return a + b;
}
- 함수명 add / 반환값 int
- 함수가 끝나면 int 값을 반환하는 함수이다.
- 외부에서 int값 2개를 받아 a,b에 저장하고 a, b 값을 더한 결과를 반환하고 종료한다.
함수 호출
함수의 이름을 부른다.
함수명();
add (1,2);
호출 시 계수나 파라메터가 맞지 않으면 실행이 불가하다.
sysout("호출 전");
f2(); //함수호출. 점프(분기)
sysout("호출 후");
함수호출은 함수가 정의되는 곳으로 점프해 함수값 실행한다. 함수 종료 시 호출 위치로 돌아간다.
1.
int x = add(4,5);
sysout(x);
2.
sysout(add(4,5));
함수 호출 코드, 함수에 파라메터가 존재하면 파라메터 값을 넣어준다.
중복된 함수 사용 시 안쪽 함수를 우선으로 호출한다.