메서드
(1) 메서드란?
- 프로그램의 함수
- 특정기능 (=연산)을 그룹화해서 재사용하기 위한 단위
public static void 메서드이름( ) {
....메서드 기능...
}
public static void plus( ) {
int x = 100;
int y = x + 1;
System.out.println(y);
}
- {}안에서는 하나의 기능만 정의, 메서드 안에 메서드 정의 X
(2) 메서드의 호출
- 메서드를 정의하면 내가 필요할 때 호출해서 쓸 수 있음
- 정의된 메서드는 다른 메서드 안에서 "호출 형식"으로 사용될 수 있다.
메서드이름( );
public static void main(String[] args) {
plus(); //플러스 메서드 호출
plus();
plus();
plus(); // 여러번 호출 하기에 편리함
}
(3) 메서드 파라미터(매개변수)
- 메서드는 자신이 실행되는 데 필요한 변수를 메서드 이름 뒤의 괄호 형태로 선언
- 두 개 이상의 파라미터는 콤마로 구분하여 선언한다.
public static void 메서드이름( 변수형 변수 이름, int a , boolean b,...) {
...메서드 기능....
}
public static void plus ( int x, int y ) {
int z = x + y;
System.out.println(z);
}
(4) 파라미터를 갖는 메서드의 호출
메서드이름( 값 1, 값 2 );
public static void main(String[] args) {
plus(10,20);
}
(5) 값을 반환하는 메서드
- 함수의 결과값 : 함수는 자신이 포함하고 있는 수식에 대한 결과값을 반환
f(x) = x + 1
f(3) = 3 + 1
y = f(3)
- y에는 4라는 값이 대입
- 메서드의 리턴값
-> 메서드는 연산 결과를 자신이 호출된 위치에 반환한다.
-> 반환하는 것 : 리턴, 반환되는 값 : 리턴값
-> 값을 리턴하는 메서드는 선언할 때, 변수형 명시
-> 값을 리턴하지 않는 메서드는 선언할 때, void 명시
-> void : 리턴타입이 없다, return이 명시 되어 있으면 void 쓰면 안됨.
public static 리턴형(int, boolean..) 메서드이름( 파라미터 -> 리턴형과 달라도 됨) {
...
return 리턴값(3/true, false...);
}
public static int plus(int x, int y) {
int z = x + y;
return z;
}
- 리턴값 o, 그러므로 void plus(){} x -> int plus(){}
public static int minus(int x, int y) {
return x - y;
}
- 축약가능
> 호출
public static void main(String[] args) {
System.out.println(plus(3, 5));
}
- println위치 보기
- 파라미터가 4~5개 되는 건 좋은 코드는 아님 -> 클린하지 않음 -> 한눈에 보이지 않음
- 이럴 땐, 메서드 두개쓰는 게 나음
(6) 메서드간의 상호 호출
- 메서드 간 상호 호출 가능
- 호출된 메서드가 값을 리턴할 때, 다른 연산에 그 값을 사용할 수 있다.