메소드는 붕어빵 굽는 기계와 유사하다. 붕어빵 기계에 밀가루 반죽과 팥을 넣으면 붕어빵이 나온다. 마찬가지로 메소드는 매개변수를 집어넣으면 정의된 반환형으로 결과물이 도출된다.
메소드는 다음과 같은 구조를 가진다.
위 코딩에서 메소드는 9번~11번 사이의 코드들 이다.
public : 접근 제어자 , public 은 아무나 가져다 쓸수 있다는 뜻이다.
static : 메모리에 항상 상주한다는 뜻이다. main 이 static 타입 이기 때문에 메인에서 직접 사용하는 메소드 들도 static 타입 이어야 사용가능하다.
int : 반환형, 메소드를 실행한 결과 반환되는 데이터의 타입을 뜻한다.
add : 메소드의 이름이다. 해당 메소드를 호출할때 이 이름으로 호출을 한다.
(int x, int y) : 인수, 매개변수, 해당 메소드에서 사용되는 재료와 같다. 위에서 언급했던 밀가루 반죽과 팥 등이 바로 이것이다.
return : 메소드의 결과물을 반환한다.
5번줄은 add 라는 메소드를 실행하는데, 인수들로 정수 3 과 5를 사용하고, 그 결과물을 int타입의 변수 result 에 저장한다.
add 라는 메소드는 내가 정의하기를 매개변수 x 와 y 를 넣어서 x+y를 반환하기 때문에 3 + 5 의 결과 8이 변수 result 에 저장된다.
6번줄에서 콘솔창에 변수 result를 출력하여 그 결과가 8임을 확인 할 수 있다.
위의 설명에서 인수(argument)와 매개변수(parameter) 라는 용어를 혼재하여 사용하였는데, 구체적인 의미는 메소드를 호출하는 곳에서 메소드 호출시 전달하는 값을 인수라고 하고, 메소드에서 값을 받을 때 사용하는 변수를 매개변수라고 부른다. 부르는 용어는 다르지만 보기에 따라 같은 의미이고, 결국 준것을 그대로 받아서 사용하는 개념이므로 매개변수와 인수의 타입이 서로 일치하여야 한다.
반환하는 결과 값이 없는 경우에는 int 자리에 void를 사용한다.
코드 17~21을 보자.
Car 라는 클래스는 start라는 메소드를 가지고 있다. start 메소드는 int 타입의 매개변수 x 를 입력받아서 "x초 뒤에 차가 출발 합니다." 라는 문구를 콘솔에 출력하고 특별히 반환하는 값은 없다.
다시 코드 7~8을 보자.
start 메소드를 사용하기 위해서 start 메소드가 있는 Car 클래스의 객체를 우선 생성한다. 이때 Car 클래스를 가리키는 변수명은 car 이다. 변수명인 car 뒤 에 점(.)을 찍으면 Car 클래스 안에 들어있는 메소드들을 사용할 수 있다. 여기서 start 메소드를 사용하자. 인수는 10으로 주었다. 그 결과 Car 클래스의 start메소드가 실행되어 "10초 뒤에 차가 출발 합니다." 라는 문구가 콘솔창에 출력되었음을 확인 할 수 있다.
'Java > Java 공부' 카테고리의 다른 글
DB에 파일 집어넣기 (0) | 2016.07.25 |
---|---|
String 클래스 (0) | 2016.07.18 |
클래스 (0) | 2016.07.18 |
객체 지향 프로그래밍 (0) | 2016.07.18 |
break 와 continue (0) | 2016.07.18 |