자바의정석

오버로딩 (overloading)

2024. 3. 6. 20:09

오버로딩 : 한 클래스 내에 같은 이름의 메서드를 여러 개 정의 하는 것을 '메서드 오버로딩' 또는 '오버로딩' 이라한다.

✔오버로딩의 조건

1. 메서드 이름이 같아야한다.

2. 매개변수의 개수 또는 타입이 달라야한다. 

 

✔오버로딩의 예 

대표적인 예는 println메서드이다.

println메서드는 호출 시 매개변수로 지정하는 값의 타입에 따라 호출되는 println메서드가 달라진다.

 

ex

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

두 메서드는 매개변수의 값에 의해 호출 될 메서드가 구분될 수 있으므로 중복된 메서드가 아닌 오버로딩으로 간주한다.

 

✔오버로딩의 장점

1. 메서드들이 (println처럼) 하나의 이름으로 정의 될 수 있다. (기능 예측 가능)

2. 이름을 절약할 수 있다.

 

✔가변인자와 오버로딩

가변인자 : 메서드의 매개변수를 동적으로 지정해 줄 수 있다. '타입...변수명'과 같은 형식으로 선언한다.

 

ex

String concatenate(String s1, String s2){...}
String concatenate(String s1, String s2, String s3){...}
String concatenate(String s1, String s2, String s3, String s4){...}

//가변인자를 사용
String concatenate(String...str){...}

 

 

 

'💻 IT > 자바' 카테고리의 다른 글

생성자(Constructor)  (0) 2024.03.06
객체 지향 프로그래밍  (0) 2024.03.05
[자바] LocalDateTime으로 현재 일 + 누적 일 출력하기  (0) 2023.12.13

+ Recent posts