막상 정리하려고 보니 앞서 했던 내용도 많이 겹치고, 그냥 자연스럽게 잘 쓰고 있었던.. 그런 내용들이다!
메소드란 객체의 동작에 해당하는 중괄호 { } 블록이다. 메소드의 이름을 가지고 메소드를 호출하게 되며, 호출 시 블록 내의 모든 코드들이 일괄적으로 실행된다.
메소드 = 선언부 + 실행블록
returnType methodName (value1, value2, ...) { ~실행 블록 ~ }
메소드는 선언부와 실행블록으로 이루어져 있다.
선언부는 리턴 타입, 메소드 이름, 매개변수로 이루어져 있다.
void
를 입력해준다.메소드 선언 시 리턴값이 있는 메소드는 반드시 return문을 사용해 리턴값을 지정해야 한다. return문이 실행되면 메소드는 즉시 종료된다.
위에서 리턴값이 존재하지 않을 경우 리턴 타입이 오는 자리에 void
를 입력한다고 했다. 그러나 리턴값이 없는 메소드도 return문을 사용할 수 있다. 메소드 실행을 강제 종료시키는 것이다.
메소드(매개값1, 매개값2, ...);
참조변수.메소드(매개값1, 매개값2, ...);
메소드의 이름은 같으나 매개변수의 타입, 개수, 순서 중 하나 이상이 다른 메소드를 말한다.
리턴 타입만 다르고 매개변수가 동일한 경우는 오버로딩이 아니다. 리턴 타입은 자바 가상 기계가 메소드를 선택할 때 아무런 도움을 주지 못하기 때문이다.