[Java] 함수(메소드)
★함수의 구조
접근제한자 리턴타입 메소드이름(파라메터타입 파라메터이름, ...) {
doSomething();
return 리턴값;
}
★함수는 이름으로 기능을 추론할 수 있어야 한다.
★함수로 전달되는 인자를 argument라고 하고, 그 인자를 받아주는 변수를 parameter라고 한다. 두 용어를 혼용가능하긴 한데 정확히 같은건 아님.
★반복되는 특정 기능을 메소드로 정의하되 하나의 메소드에는 하나의 기능만 구현한다. 기능을 분리하는게 맞음
★함수는 이름과 파라메터의 타입이 모두 같아야 같은 메소드(함수)로 구분된다. 즉 같은 이름의 메소드가 여러 파라메터타입에 따라 다양한 기능을 할 수 있게 된다.(오버로딩)
★정확하게 말하자면 method와 함수는 같은 뜻은 아니다. 함수는 기존의 수학의 함수개념에서 따온 명칭이고, input을 투입해 output을 산출한다는 개념은 같으나 객체지향에서는 함수 대신 객체의 동작을 지칭하는 method라는 단어를 사용한다. 사실상 같은 의미이긴 하지만 method는 특정 클래스에 반드시 속해야 한다는 조건이 있기 때문에 굳이 다른 용어를 사용한 것이다. 하지만 람다식의 경우에는 이러한 제약조건이 다시 사라지기 때문에 함수라는 용어를 사용한다.