함수
- 특별한 기능을 가지고 있다.
- method , function , procedure
- 형식 : 리턴형 함수명()
- maker가 제공하는 함수도 있고, 사용자가 정의(user defined)할 수도 있다.
- 식별자
- 프로젝트명
- 패키지명
- 클래스명
- 변수명
- 함수
- 만들었는데 호출 안하면 정상, 호출했는데 없으면 에러.
함수를 작성 시 고려사항
- 매개변수(parameter,전달값)가 있는지?
- return 값이 있는지?
- 함수 정의(작성)를 하고 호출해야 사용할 수 있다.
매개변수 없는 함수
함수작성
1 |
|
메인함수에서 함수 호출
1 |
|
- 함수 안에 함수를 작성할 수 없지만 호출할 수 있다.
- test1인 함수명만 쓰면 그냥 변수.
- test1() 함수호출
매개변수 있는 함수
- 전달값 argument value
1 |
|
메소드 호출
1 |
|
리턴값이 있는 경우
- 함수 정의 > 리턴형 함수명(){}
- void : 리턴값이 없다.
- 값을 가져가서 계산 후 다시 돌려준다.
1 |
|
전달값이 1차원 배열인 경우
1 |
|
전달값이 2차원 배열인 경우
1 |
|
재귀적 함수 호출
- 자신의 함수를 호출
1 |
|
1 |
|
재귀적 함수 관계 분석
1 |
|
꼭 main에서만 함수를 부르는 것은 아니다.
1 |
|
- main(); main() 함수는 사용자가 임의의 호출 불가능
- 클래스가 실행될 때
- 자바 가상 머신(Java Virtual Machine)이 호출한다
자바 클래스 (.class) 실행 순서
- main() 함수 호출 후 .class 실행
- JVM > javaw.exe가 실행해줌
- 운영체제(Operating System) : Windows , Linux , MacOS
자바 특징
- 플랫폼이 독립되어 있다.
- OS를 구분하지 않는다.
- 가상머신이 깔려있으면 클래스가 실행된다.
메소드 오버로딩 method overloading
함수명 중복정의
- 매개변수의 갯수가 달라야 한다.
- 하나주면 하나짜리 함수 찾아가고, 두개주면 두개짜리 함수를 찾아간다.
- 매개변수의 자료형이 달라야 한다.