메소드란
어떠한 특정 작업을 수행하기 위한 명령문의 집합
이다.
- 중복되는 코드의 반복적인 프로그래밍을 피할 수 있습니다.
- 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때 손쉽게 유지보수를 할 수 있습니다.
메소드를 작성할 때는 되도록 하나의 메소드에 하나의 기능만을 구현한다!
접근제어자 반환타입 메소드이름(매개변수) { //선언부
//구현부
}
위와 같은 방법으로 정의한 메소드는 멤버 참조 연산자(.)
를 이용해 호출할 수 있습니다.
- 매개변수가 없는 메소드의 호출 :
객체참조변수이름.메소드이름();
- // 매개변수가 있는 메소드의 호출
객체참조변수이름.메소드이름(인수1, 인수2, ...);
class Person {
private String name;
...
pubic void walk(String name) {
System.out.println(name + "님이 걷고 있습니다.");
}
Person person1 = new Person(); //객체 생성
person1.walk(이할인); //person1 인스턴스의 walk() 메소드를 호출함
return문은
현재 실행중인 메서드를 종료하고 호출한 메서드로 역할
을 한다.
- 반환값이 없는, void 반환타입을 가지는 메서드들도 return문이 존재해야합니다.
- 하지만 return문이 존재하지 않는 이유는 컴파일러가 메서드의 마지막에 'return;'을 자동으로 추가해주었기 때문이다.- 반환타입이 void가 아닌 경우는 필수적으로 return문이 존재해야 합니다.
- 하나의 메서드 안에서 return문은 여러개 존재할 수 있지만 반환되는 값은 return중 하나만 반환이 된다.
public static void main(String[] args) {
int a =10;
int b =-10;
System.out.println("a = " + clac(a));
System.out.println("b = " + clac(b));
}
static int clac(int x) {
if(x > 0) {
return x;
}else {
return -x;
}
}
// 결과
// a = 10
// b = 10