메소드(method)란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있으며 클래스에 속해 클래스에서의 기능구현을 한다.
보통은 반복되는 기능을 쉽게 관리하고 코드를 줄이기 위해서 사용한다.
이를 위해 클래스를 생성하는데 보통 클래스안에서 메소드가 정의 된다.
메소드는 매개변수(파라미터)와 리턴값을 가지며 자바스크립트 언어에서의 함수라고 생각하면 쉽다. 메소드를 선언하는 방법은 크게 3가지로 나뉜다.
1) 기본형
리턴타입 메소드명(자료타입 매개변수1, ... ) {
실행할 문장
return 리턴값
}
2) return값이 없는 형태
void 메소드명(자료타입 매개변수1, ...){
실행할 문장
}
3) parameter, return값이 없는 형태
void 메소드명(){
실행할 문장
}
메소드 선언순서
1. 메소드 명을 생각한다.(보통은 동사형)
2. 매개변수(parameter)를 생각한다.
3. 실행할 문장과 리턴 값을 생각한다.
메소드는 보통 클래스를 만들어 클래스 안에서 생성한다고 하였다. 메인메소드가 있는 클래스에서도 사용 가능하다. 메인메소드는 static으로 정의되어 프로그램 실행 시부터 종료 시까지 동작하게 되었다. 따라서 static을 활용하면 메인 메서드 위에 생성하고 동작할 수는 있지만 메소드가 많아지면 프로그램 성능이 저하 될 수 있다.
이 방법은 간단히 보고 넘어가자
package day10;
public class MethodTest {
//메소드 생성시 static으로 정의함.
static int add(int a, int b){
System.out.println("add 메소드 입니다.");
return a + b;
}
//메인 메소드안에서 실행함.
public static void main(String[] args) {
System.out.println(add(3,7));
}
}
위 방법은 자주 사용하지 않는다. 메소드를 선언하고 나서 메인메소드에서 사용 할 경우 클래스를 초기화하여 사용한다.
방법은 다음과 같다.
package day10;
public class MethodTest {
//저장공간을 아끼기 위해 static을 사용하지 않음.
int add(int a, int b){
System.out.println("add 메소드 입니다.");
return a + b;
}
public static void main(String[] args) {
//클래스를 초기화하여 변수명.메소드로 사용함.
MethodTest m = new MethodTest();
System.out.println(m.add(3, 4));
}
}
클래스를 초기화하고 클래스의 변수명에 붙여서 메서드를 사용한다.
이는 다른 클래스파일에서도 동작이 가능하게 만든다.