본문 바로가기

개발 관련 지식/자바(Java)

[자바] 메서드 오버로딩(method overloading)

* 메서드 오버로딩

: 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것으로 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 하지만 매개변수의 개수 또는 타입을 다르게 하면 같은 이름을 사용해서 메서드를 정의할 수 있다.

 

 

* 오버로딩 조건

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

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

3. 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않는다.

(리턴타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다.)

 

<예문>

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


void println()

void println(boolean x)

void println(char x)

void println(char[] x)

void println(double x)

void println(float x)

void println(int x)

void println(long x)

void println(object x)

void println(String x)