Method_오버 로딩

2024. 1. 10. 01:04JAVA

오버로딩

이름이 같고 매개변수가 다른 메소드를 여러 개 정의하는 것. 

 

왜 필요함?

plus1(int a, int b);

plus2(int a, int b, int c);

plus3(int a, int b, int c, int d);

 

매개변수들을 더한다고 가정 해보자.

메서드를 전달할 데이터( 인자or Argument)와 메서드에 선언된 매개변수(Parameter)의 개수는 같아야 한다.

 

그렇다면, 피연산자 개수가 늘어날 때마다, 메서드를 계속 다른 이름으로 생성해야 할까?

 

대답은 No다!! (관리 어쩔건데)

이러한 관리상의 어려움을 타파하기 위해, '오버 로딩' 이라는 기술이 존재한다.

이름이 같고 매개변수가 다른 메서드를 여러 개 정의 하는 것이 가능해진다.

plus(int a, int b);

plus(int a, int b, int c);

plus(int a, int b, int c, int d);

메서드를 호출할 때에는 '정의한 메서드와 매개변수의 내용(개수, 순서) 등이 동일한' 메서드가 알아서 호출된다.

 

메서드가 위와 같이 있을 때 

plus(1,2,3); 으로 호출하면 3번째 plus가 호출된다.

 

오버로딩 규칙

- 이름이 같아야 한다.

- 매개변수의 타입  순서가 달라야 한다. 

- 반환타입은 오버로딩을 구분짓는 데 사용되지 않는다.(무관하다)

public static int plus(int a, int b);

public static double plus(int a, int b);

위와 같은 경우, 오버로딩이 아니다.

 

메서드 시그니처

= 시그니처 = 서명, 특징 = 구분지을 수 있는 내용

= 메서드 이름 + 매개변수

 

'JAVA' 카테고리의 다른 글

Class_instance  (0) 2024.01.10
Class_이게 뭔데  (0) 2024.01.10
Method_호출과 값 전달  (0) 2024.01.07
Method_리턴  (0) 2024.01.07
Method_정의  (0) 2024.01.07