JAVA
[JAVA] 메서드 오버로딩 (Method Overloading)
준몽쓰
2025. 1. 18. 23:20
- 메서드 오버로딩 (Method Overloading)
- 보통 하나의 메서드로 하나의 기능만 구현하지만 하나의 메서드로 여러 기능을 구현하기 때문에 붙여진 이름
- 자바에서 한 클래스 내에서 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다.
오버로딩의 조건
1) 한 클래스 내에서 메서드 명이 동일해야 한다. (같은 이름을 동일하게 한 다는 조건으로 사용하는게 오버로딩)
2) 매개변수의 개수 또는 타입이 달라야한다.
3) 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않는다.
- 예를 들어 plus(int a, int b)로 호출한다해도 사용하는덴 문제 없지만, 오버로딩 조건에선 같은 이름을 사용하여 많은 기능을 구현하기 위한 목적을 가지고 있음.
- add(이름)은 같은데 인자값(int, double)에 따라 동작하는게 다름.
ex1) 매개변수 개수가 다른 경우의 메서드 오버로딩
1. 정수 1,2를 호출했으므로 add(int a, int b)가 호출된다.
2. 정수 1,2,3, 호출했으므로 add(int a, int b, int c)가 호출 된다.
실행결과
ex2) 메개변수 타입이 다른 경우의 메서드 오버로딩
1. 정수 1, 실수 1.2 호출했으므로 myMethod(int a, double b) 호출
2. 실수 1.2, 정수 2 호출했으므로 my/Method(double a, int b) 호출
실행결과