IT/개발(자바, 서블릿, 스프링 등)

[Java] 메서드 오버로딩

히유우 2019. 12. 7. 17:14

같은 이름의 메서드 정의한다.

매개변수의 개수와 타입은 다르게 정의한다.

 

매개변수 개수는 인자값의 개수와 반드시 일치해야 한다.

매개변수 타입은 인자값의 타입과 일치해야 한다. 단, 타입이 다르다면 인자값의 타입보다 큰 타입으로 선언된 매개변수면 된다.

(인자와 매개변수의 차이점은 이곳에 정의되어 있다.)

 

우리가 흔히 사용하는 System.out.println() 여기에서 println() 메서드도 오버로딩 되어 있다.

때문에 우리가 String, int, long 할 것 없이 호출하여 사용할 수 있는 것이다.

 

void println(boolean b)

void println(char b)

void println(char[] b)

void println(int b)

void println(Object b)

...