[Java] 메서드 시그니처

2021. 12. 4. 20:27Programming Languages/Java

자바에서 메서드 이름과 파라미터를 합쳐서 메서드 시그니처라고 한다. 메서드 이름이 다르거나 파라미터 타입, 개수가 다르면 시그니처가 다르다고 표현한다. 리턴 타입이나 예외 타입은 시그니처에 포함되지 않는다.

비교 대상 메서드

public String greeting(String name) throws Exception {
    return "hello " + name; 
}

비교 메서드

// 메서드 시그니처가 다르다
public String hello(String name) {
    return "hello " + name; 
}
// 메서드 시그니처가 다르다
public String greeting(String name, String suffix) {
    return "hello " + name + suffix; 
}
// 메서드 시그니처가 같다
public String[] greeting(String name) {
    String[] strs = {"hello", name};
    return strs;
}
// 메서드 시그니처가 같다
public String greeting(String name) throws RuntimeException {
    return name + ", nice to meet you.";
}