메소드 오버로딩이란?
한 클래스 내에서 같은 이름의 메소드를 여러개 정의할 수 있는 기능을 의미한다.
조건
1. 파라미터의 타입이나 개수가 달라야한다.
2. 파라미터의 이름은 오버로딩 성립에 영향을 주지 않는다. (하지만 파라미터의 타입이 같다면 성립X)
3. 리턴 타입은 오버로딩 성립에 영향을 주지 않는다. (파라미터의 타입이 같다면 리턴타입이 달라도 성립X)
예제
package test;
import java.util.Scanner;
class Boiler{
String maker;
int temp;
String color;
void tempUp(){
temp++;
}
void tempUp(int amount){
temp += amount;
}
}
public class test {
public static void main(String[] args) throws Exception {
Boiler bo = new Boiler();
System.out.println("현재 온도 = " + bo.temp);
bo.tempUp();
System.out.println("bo.tempUp() 메소드 호출 후 현재 온도 = " + bo.temp);
bo.tempUp(20);
System.out.println("bo.tempUp(20) 메소드 호출 후 현재 온도 = " + bo.temp);
}
}
결과
현재 온도 = 0
bo.tempUp() 메소드 호출 후 현재 온도 = 1
bo.tempUp(20) 메소드 호출 후 현재 온도 = 21
해설
피료 없음
'웹 프로그래밍 > Spring Framework' 카테고리의 다른 글
[JAVA] new 생성자 (0) | 2014.06.08 |
---|---|
[JAVA] 정적 메소드와 인스턴스 메소드(Static Method and Instance Method) (0) | 2014.06.08 |
[JAVA] 가변 인자 메소드(Variable Method) (0) | 2014.06.08 |
[JAVA] 메서드와 변수 응용 (0) | 2014.06.08 |
[JAVA] 기본적인 메소드(함수)선언 (0) | 2014.06.07 |