A. 메소드는 객체와 관련된 함수로 자바처럼 클래스 기반 언어라면 클래스 내부에 있는 함수다.
함수가 메소드를 포함하는 개념으로 볼 수 있다.
함수 ⊃ 메소드
자바스크립트 함수
예를 들어 자바스크립트에서는 함수라고 한다.
예를들어 자바스크립트로 덧셈 함수를 만들면 아래와 같다.
자바 메소드
덧셈 함수를 자바스크립트에서 하듯 Java에서 만들려고 아래처럼 입력하면 에러가 난다.
class Main {
public static void main(String[] args) {
int sum = sum(1, 2);
System.out.println("sum:" + sum);
}
}
public int sum(int a, int b){
return a + b;
}
에러 코드
Main.java:8: error: class, interface, or enum expected
public int sum(int a, int b){
^
Main.java:10: error: class, interface, or enum expected
}
^
2 errors
위 에러 코드를 보면 class, interface, enum이 기대되는데 int가 입력되었다고 나온다.
Java는 class 밖에서 함수를 선언할 수 없다. 그래서 자바를 배울 때 함수라는 용어를 쓸 일이 없다. 메소드만 있으니까.
위 처럼 클래스 안에 넣으면 메소드가 정상 작동한다.
결과도 3이 나온다.
참고: 위키백과 메소드