Java Overloading
목표 : Overloading의 의미와 활용의 이해
[ Overloading 이란? ]
한 클래스 안에 같은 이름의 메소드 여러개를 정의하는 것
- 일반적으로 하나의 메소드는 하나의 기능만 하지만 Overloading으로 여러 기능을 구현하게 됨
- 메소드의 이름을 절약 가능하다.
[ Overloading의 조건 ]
1. 메소드 이름이 같아야된다.
2. 매개변수의 개수or 타입이 달라야된다.
3. 매개변수가 다르고 반환값이 같은건 가능하다.
class OverloadTest{
public void print() {
System.out.println("success-1");
}
void print(String a) {
System.out.println("success-2");
System.out.println(a);
}
String print(Integer a) {
System.out.println("success-3");
return a.toString();
}
String print(Integer a, Integer b) {
System.out.println("success-4");
return a.toString() ;
}
String print(Integer a, String b) {
System.out.println("success-5");
return a.toString() ;
}
}
public class OverloadStudy {
public static void main(String[] args) {
OverloadTest ot = new OverloadTest();
ot.print();
ot.print("String a");
System.out.println(ot.print(6));
System.out.println(ot.print(7,6));
System.out.println(ot.print(7,"7"));
}
}
========결과값=====
success-1
success-2
String a
success-3
6
success-4
7
success-5
7
- print라는 같은 이름의 메소드가 멤버로 5개가 있다..
- 매개변수의 개수와 타입을 다르게 지정하였다.
- return 값만 다르다고 하여 Overloading을 할수 없으며, success-4 와 5를 비교했을때,return 값이 같고 매개변수가 다르다면 Overloading가능하다.
- Overloading은 매개변수의 차이로만 구현될수 있다.
'Language > JAVA' 카테고리의 다른 글
Java 생성자(Constructor)- OOP (0) | 2022.08.20 |
---|---|
Java 기본형 / 참조형 매개변수 (0) | 2022.08.20 |
Java Static과 Instance의 관계(OOP) (0) | 2022.08.17 |
Java Object, Class, Instance(OOP) (0) | 2022.08.15 |
Java Method(메소드) (0) | 2022.08.13 |