오버로딩
메소드 오버로딩(Method Overloading)
같은 클래스 내에서 같은 이름의 메소드를 여러개 선언하는 것을 말합니다.
JVM은 같은 이름의 메소드가 있으면 메소드가 받는 인수의 갯수와 데이터 타입을 비교하여 다르면 각각 다른 메소드로 인식을 합니다. 단 return 타입은 메소드를 구분하는 조건으로 사용하지 않습니다.
method overloading 의 대표적인 경우
System.out.println(1);
System.out.println(1.5);
System.out.println("우리는 한국인입니다.");
System.out.println("IT 기술을 " + " 다양한 분야로 적용해야 합니다.");
method overloading 을 사용하지 않는 경우
public void printInt(int x){ }
public void printFloat(float x){ }
public void printString(String x){ }
메소드 오버로딩을 적용한 경우
public void println(int x){ }
public void println(float x){ }
public void println(String x){ }
PrintStream 클래스의 메소드 오버로딩 예)
void print(char c){ } //print('C')
void print(double d){ } //print(10.5)
void print(float f){ } //print(10.5f)
void print(int i){ } //print(10)
메소드가 호출되는 경우 메소드의 인수의 데이터 타입과 갯수가 일치하는 메소드가 호출됩니다.
println()메소드 및 생성자는 대표적인 메소드 오버로딩의 예입니다.
개발시에는 좀더 많은 시간이 소요되나 개발된 클래스를 이용시에는 많은 속도 향상을 가져옵니다.
메소드 오버로딩 실습
AvgTest.java
Last updated