| English | 의미 |
|---|---|
| method/ˈmeθəd/ | 메서드 |
| signature/ˈsɪɡnɪtʃə/ | 메서드 서명 |
| parameter/pəˈræmɪtə/ | 형식 매개변수 |
| argument/ˈɑːɡjuːmənt/ | 실제 인자 |
| overloading/ˌəʊvəˈləʊdɪŋ/ | 오버로딩 |
메서드의 이름 태그
- 메서드는 작업을 수행하기 위해 호출할 수 있는 이름이 붙은 코드 블록입니다.
- 시그니처는 메서드를 식별하는 부분으로, 이름과 매개변수 목록으로 구성됩니다.
- 예시 시그니처:
max(int a, int b)— 이름max, 두 개의int매개변수. - 시그니처는 메서드를 호출할 때 Java가 어떤 메서드를 의미하는지 아는 방식입니다.
매개변수와 인자
- 매개변수는 메서드 정의 내의 변수입니다:
int ainsidemax(int a, int b). - 인자는 호출할 때 실제로 전달하는 값입니다:
max(5, 9)is called with5and9. - 인자는 좌우 순서대로 위치에 따라 매개변수와 매칭됩니다.
- 메서드 내부에서 매개변수는 인자의 복사본을 저장합니다.
반환 타입
- 메서드의 반환 타입은 어떤 종류의 값을 돌려주는지를 나타냅니다.
public int max(int a, int b)returns anint; avoidmethod returns nothing.- 결과를 호출자에게 보내려면
return value;를 사용하십시오. - 반환 타입은 헤더의 일부이지만 시그니처에는 포함되지 않습니다.
오버로딩: 동일한 이름, 다른 시그니처
- Java는 오버로딩을 허용합니다: 동일한 이름이지만 다른 매개변수 목록을 가진 여러 메서드입니다.
print(int x)와print(String s)은 서로 다릅니다 — 인자 타입이 이를 구분합니다.- 컴파일러는 시그니처가 인자와 일치하는 버전을 선택합니다.
- 오버로딩은 시그니처가 달라야만 작동하며, 반환 타입만으로는 부족합니다.
시그니처는 이름 + 매개변수 목록이며, 반환 타입은 시그니처의 일부가 아닙니다. 그래서 반환 타입만으로 다른 두 메서드를 오버로딩할 수 없는 이유입니다. 매개변수는 정의에 존재하고, 인자는 호출 시 전달하는 값으로 위치에 따라 매칭됩니다. 잘못된 개수나 유형의 인자를 전달하면 컴파일 에러가 발생합니다.
max 호출하기:
- 정의:
public int max(int a, int b) { return a > b ? a : b; } - 호출:
int m = max(5, 9);→ 인자5→ 매개변수a,9→b. - 메서드는
9를 반환하며, 이는m에 저장됩니다.
메서드 시그니처는 이름과 매개변수 목록(반환 타입은 포함되지 않음)입니다. 매개변수는 정의의 변수이고, 인자는 호출 시 전달되는 값으로 위치에 따라 매칭됩니다. 오버로딩은 동일한 이름을 가지되 다른 매개변수 목록을 허용하며, 인자에 의해 구별됩니다.
메서드 호출은 값을 반환합니다
인수 5와 9가 매개변수 a와 b에 바인딩되며, 메서드는 9를 반환합니다.
메서드의 서명은 ...로 구성됩니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
서명 = 이름 + 매개변수; 반환 타입은 서명의 일부가 아닙니다.
max(5, 9)에서 값 5와 9는 ...입니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
인수는 전달되는 값이며, 매개변수는 정의 내에 존재합니다.
반환 타입만 다른 두 메서드를 오버로드할 수 있습니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
반환 타입은 서명의 일부가 아니므로, 이는 허용되지 않습니다.
같은 이름을 가지지만 다른 매개변수 목록을 가진 여러 메서드를 ...라고 합니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
오버로딩 = 같은 이름, 다른 매개변수 목록.
인수는 ... (단일 단어)에 의해 좌우로 매개변수에 매칭됩니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
위치 기반 매칭: 첫 번째 인수 → 첫 번째 매개변수.