메소드 오버로딩이란 하나의 클래스 안에 같은 이름의 메소드를 여러 개 정의할 수 있는 기능을 의미한다. 단 조건이 있다.
메소드의 파라미터의 타입 또는 개수가 달라야 한다.
아래의 예제는
파라미터의 타입이 int와 String이므로 메소드 오버로딩이 성립된다.
void printInfo(int x);
void printInfo(String x);
아래의 예제는
파라미터의 타입은 같지만 개수가 다르므로 메소드 오버로딩이 성립된다.
void printInfo(int x);
void printInfo(int y);
void printInfo(int x, int y);
아래의 예제는
파라미터의 타입이 String으로 둘다 같으므로 메소드 오버로딩이 성립되지 않는다.
void printInfo(String x);
void printInfo(String name);
아래의 예제는
파라미터의 타입과 개수가 같으므로 메소드 오버로딩이 성립되지 않는다.
리턴 타입은 오버로딩 성립에 영향을 주지 않는다.
void printInfo(String name);
int printInfo(String name);
'프로그래밍 개념 > JAVA' 카테고리의 다른 글
(펌) Object(객체)와 Class 도데체 뭐란 말이냐?? (0) | 2016.11.26 |
---|---|
자바의 개념들 (0) | 2016.11.16 |