안녕하세요.
IT 돌고래입니다.
자바의 메소드에 대해서 이야기를 해보겠습니다.
자바의 메소드를 설명하기 전에 메소드는 함수라고도 불립니다. 함수를 이야기하면 중학교 때부터 배운 함수를 많이 생각을 합니다. 수학적인 함수는 어떤 값이 들어가면 수식에 의해서 연산을 하여서 결과 값을 주는 것을 함수로 많이 배워 왔습니다. 하지만 프로그래밍에서 함수는 수학적 개념이 있지만 모든 것이 수학적 개념처럼 사용이 되지 않습니다.
일반적으로 생각하는 수학의 함수입니다. 이 수학적인 함수에 대한 생각을 버리고 처음부터 다시 공부를 한다는 생각으로 함수와 메소드를 공부를 해야 합니다.
그럼 메소드나 함수는 프로그래밍에 어떤 부분을 담당을 하고 있을까요?
메소드나 함수는 프로그램에 기능을 담당하고 있습니다. 프로그램이 움직이는 부분 즉 연산과 명령을 실행을 함수에 담아서 프로그램을 개발을 해야 합니다.
C언어나 Java나 실행을 시작하는 곳은 main함수입니다. 메소드나 함수는 기능을 하기 때문에 시작은 함수에서 시작을 해서 프로그램이 시작을 하고 있습니다. C언어나 Java의 형태가 조금 다르지만 똑같이 main문에서 시작한다고 보시면 됩니다.
먼저 메소드나 함수에서 나오는 용어를 정리하겠습니다.
인자 : 함수로 가져오는 데이터
리턴 값 : 함수의 결과 값을 함수를 호출한 곳으로 보내는 값
메소드나 함수에는 4가지 형태가 있습니다. 절대 4가지 형태를 벗어나지 못합니다.
1. 주고받고
메소드나 함수를 호출할 때 인자를 받고 값을 리턴을 하는 유형의 함수이다.
int add(int a, int b) //인자로 int형 2개를 받고 정수 하나를 리턴하는 함수 add { return a+b; //a와b를 더한 값 리턴 }
2. 주고 안 받고
메소드나 함수를 호출할 때 인자를 받지 않고 값을 리턴을 하는 유형의 함수이다.
int add() //인자로 받지 않고 정수 하나를 리턴하는 함수 add { return 5; //5를 리턴 }
3. 안 주고받고
메소드나 함수를 호출할 때 인자를 받고 값을 리턴을 하지 않는 유형의 함수이다.
void add(int a, int b) //인자로 int형 2개를 받고 리턴을 하지 않는 함수 add { System.out.print(a+b); //a와b를 더한 값을 출력 }
4. 안 주고 안 받고
메소드나 함수를 호출할 때 인자를 받지 않고 값도 리턴을 하지 않는 유형의 함수이다.
void add() //인자를 받지않고 리턴을 하지 않는 함수 add { System.out.println(10); //10을 출력 }
※ 함수와 메소드에서는 인자를 원하는 만큼 추가해서 받을 수 있다. 리턴 값 같은 경우에는 한 종류만 리턴이 가능하다.
★ 메소드나 함수 호출
1. main 문에서 프로그램 시작
2. 5와 3을 인자로 넣어서 add 메소드(함수) 호출
3. 5와 3을 더한 값을 리턴
4. 리턴 값을 정수형 total 메소드(함수)에 대입
5. total 변수 값을 출력
위에 메소드나 함수에 대해서 말씀을 드렸습니다. 메소드나 함수의 4가지 형태와 메소드(함수)에 호출 관련 흐름을 꼭 공부를 하셔야 기능을 담당하고 있는 메소드(함수)를 잘 사용을 할 수 있습니다.
※ 긴 글을 읽어 주셔서 감사합니다. Java를 계속 진행해 나가겠습니다.
★ 이글 이후에는 Java메소드(함수) 응용에 대한 내용을 정리할 예정입니다. 많은 관심 부탁드립니다.
'IT 돌고래 > JAVA' 카테고리의 다른 글
[JAVA]자바의 열세걸음 : 클래스 기초 (0) | 2020.03.08 |
---|---|
[JAVA]자바의 열두걸음 : 메소드(함수) 응용 (0) | 2020.03.03 |
[JAVA]자바의 열걸음 : 배열 (0) | 2020.02.20 |
[JAVA]자바의 아홉걸음 : 조건문과 반복문응용 (0) | 2020.02.04 |
[JAVA]자바의 여덟걸음 : 반복문 (0) | 2020.02.02 |
댓글