min's devlog

메소드 오버로딩 본문

til/Java

메소드 오버로딩

값진 2022. 3. 21. 12:05

메소드 오버로딩(Method Overloading)

  - 같은 이름의 메소드를 중복하여 정의하는 것

  - 서로 다른 시그니처를 갖는 여러 메소드를 같은 이름으로 정의하는 것

  - 자바에서는 원래 한 클래스 내에 같은 이름의 메소드를 둘 이상 가질 수 없지만, 매개변수의 개수나 타입을 다르게 하면

    하나의 이름으로 메소드를 작성할 수 있다.

  -  객체 지향 프로그래밍의 특징 중 하나인 다형성(polymorphism)을 구현하는 방법 중 하나

 

 

메소드 오버로딩의 조건

  • 메소드의 이름이 같아야 함
  • 메소드의 시그니처, 즉 매개변수의 개수 또는 타입이 달라야 함
void display(int num1)              // 전달받은 num1을 그대로 출력
void display(int num1, int num2)    // 전달받은 두 정수의 곱을 출력
void display(int num1, double num2) // 전달받은 정수와 실수의 합을 출력

호출 예제

display(10);
display(10, 20);
display(10, 3.14);
display(10, 'a');  // 2번과 3번 모두 호출 가능

* 자바에서 char형 데이터는 int형 뿐만 아니라 double형으로도 타입 변환될 수 있다.

* 매개변수의 타입뿐만 아니라 매개변수의 개수를 다르게 해도 메소드 오버로딩이 가능하다.

 

 

 

'til > Java' 카테고리의 다른 글

String 조작 기능  (0) 2022.03.21
재귀 호출(recursive call)  (0) 2022.03.21
this와 this()  (0) 2022.03.21
생성자(Constructor)  (0) 2022.03.21
객체와 인스턴스  (0) 2022.03.20
Comments