다른 프로그래밍 언어에는 함수라는 것이 별도로 존재한다.
하지만 자바는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바의 함수는 따로 존재하지 않고 클래스 내에 존재한다.
자바는 이러한 클래스 내의 함수를 메소드라고 부른다.
※ 보통 함수와 메소드가 공존하는 언어(예:파이썬)에서는 두 개를 구분하여 말하기도 하지만 자바는 보통 메소드와 함수를 구분하여 말하지 않는다. 다만 자바에서 사용되는 함수의 정확한 명칭은 메소드이다.
우선 메소드라는 것을 사용하는 이유에 대해서 알아보자
메소드를 사용하는 이유는 일단 우리가 코드를 짜다보면 같은 코드를 반복해서 적는 경우가 반드시 생기게 된다.
이럴 때 메소드가 필요한 것이라고 생각하면 되는데 여러 번 반복해서 적는다는 것은 언제고 또 다시 사용할만한
가치가 있는 부분이라는 뜻으로 볼 수 있다.
이 것을 하나로 묶어서 어떤 입력값을 주었을 때 어떤 리턴값을 돌려준다는 식의 메소드를 작성하게 된다면
오히려 코드가 더 짧아지고 편해질 것이다.
int result (int a , int b) {
return a+b;
지금 이 코드를 보면 되는데 위의 메소드의 의미는 다음과 같다
result 메소드는 입력값으로 두개의 값 int 자료형 a, int 자료형 b 를 받고 리턴값은 두 개의 입력값을 더한 값
int 자료형 이다 라고 생각하면 된다.
여기서 return은 메소드의 결과 값을 돌려주는 명령어라고 생각하면 된다.
public class Main {
public static void main(String[] args) {
int a = 5;
int b = 8;
숫자 a숫자 = new 숫자 ();
int c = a숫자.result(a, b);
System.out.println(c);
}
}
class 숫자 {
int result (int a , int b) {
return a + b;
}
}
이렇게 int result 라는 메소드를 위의 코드처럼 하여 활용을 할 수 있다 위의 코드처럼 하면
int result만 해도 int a 와 int b 값이 아무리 바뀌어도 언제든 연산을 할 수 있다고 보면 된다.
매개변수(parameter)와 인수(arguments)는 혼용해서 사용되는 헷갈리는 용어이므로 잘 기억해 두자.
매개변수는 메소드에 입력으로 전달된 값을 받는 변수를 의미하고 인수는 메소드를 호출할 때 전달하는 입력값을 의미한다.
매개변수는 정말 많이 사용되는 용어이다 꼭 잘 알아두어야한다.
'Java' 카테고리의 다른 글
| 나 혼자 공부하는 자바 (생성자) (1) | 2022.10.05 |
|---|---|
| 나 혼자 공부하는 자바 (객체 값 받는 법) (0) | 2022.10.04 |
| 나 혼자 자바 공부하기 (클래스) (0) | 2022.10.03 |
| 2022-09-30 자바 (최대값 구하기) (0) | 2022.09.30 |
| 2022-09-30 자바(숫자만 뽑은 후 더하기) (1) | 2022.09.30 |
댓글