[Java] Method Signature

2024. 12. 1. 12:53·Java

 

 

메서드 시그니처는 자바에서 오버로딩된 메서드들을 구분하기 위해 사용되는 것이다.

 

메서드는 크게 메서드이름, 파라미터(매개변수), 파라미터(매개변수)의 타입으로 구분할 수 있다.

 

 

메서드 시그니처의 구성 요소이다.

  • 메서드 이름
  • 메서드 파라미터리스트

메서드 파라미터리스트는 파라미터들의 타입, 개수, 순서에 대한 정보이다.

 

 

static int add(int a, int b){
    return  a+b;
}

static int add(int a, int b, int c){
    return a+b+c;
}

 

 

같은 이름의 add메서드이지만 메서드 시그니처가 다른 메서드이다.

그로 인해 오버로딩이 가능해진 것이다.

 

만약 오버로딩이 없었다면 메서드의 이름을 조금만 다르게 해 구현했을 것이다.

 

 

 


 

 

오버로딩은 반환 타입은 인정하지 않는다.

 

static double minus(double a, double b){
    return a-b;
}

static int minus(double a, double b){
    return (int)(a-b);
}

 

 

위 경우 메서드의 이름은 같고 파라미터의 개수 순서 타입 다 같다 

하지만 반환 타입이 다르다 하나는 double 다른 것은 int이다.

얼핏 보면 시그니처가 달라 오버로딩 될 수 있게 생겼지만.

 

자바에서는 오버로딩 규칙상 반환타입이 달라도 오버로딩을 허용하지 않는다.

 

 

 


 

결론

 

메서드 시그니처는 메서드의 이름+ 매개변수(파라미터) 순서, 타입이다.

 

메서드 시그니처는 자바에서 메서드들을 구분할 수 있는 수단이고 자바 입장에서는 각각의 메서드를 고유하게 구분할 수 있어야 한다.

 

메서드를 오버로딩해서 메서드 이름이 같아도 메서드 시그니처가 달라 메서드들을 서로 다르게 간주한다.

'Java' 카테고리의 다른 글

[Java] Object 클래스  (0) 2025.04.04
[Java] 얕은 복사와 깊은 복사  (2) 2024.12.27
[Java] Stack Trace  (0) 2024.11.18
[Java] Argument와 Parameter의 차이점  (4) 2024.11.09
[Java] 배열을 쉽게 출력하기!  (1) 2024.09.16
'Java' 카테고리의 다른 글
  • [Java] Object 클래스
  • [Java] 얕은 복사와 깊은 복사
  • [Java] Stack Trace
  • [Java] Argument와 Parameter의 차이점
oneH
oneH
  • oneH
    Hello WeonHyeok!
    oneH
  • 전체
    오늘
    어제
    • 분류 전체보기 (50)
      • CSS (1)
      • Javascript (5)
        • JS자료구조,알고리즘 (1)
      • Java (22)
        • OOP (9)
      • JSP (1)
      • Computer Network (2)
      • 이론 컴퓨터 (2)
      • Project (0)
      • Algorithm&Data Structure (11)
      • 데이터베이스 (3)
      • Spring,SpringBoot (1)
      • Git & GitHub (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Git
    math
    복사
    덱
    Selector
    OOP
    자바
    OSI7계층
    combinators
    Stack
    큐
    JavaScript
    프로토콜
    컴파일
    object
    컴퓨터구조
    컴퓨터네트워크
    티스토리챌린지
    선택자
    오블완
    Algorithm
    JS
    이진검색
    스택
    폰노이만 아키텍쳐
    SQL
    컴퓨터 네트워크
    MySQL
    Java
    선형 큐
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
oneH
[Java] Method Signature
상단으로

티스토리툴바