남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다.
오버로딩
- 한 클래스 안에 같은 이름의 메서드 여러개 정의
ex)
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)
오버로딩이 성립하기 위한 조건
- 메서드 이름이 같아야 한다.
- 매개변수 개수 또는 타입이 달라야 한다.
- 반환 타입은 영향없다.
int add(int a, int b) {return a+b;}
int add(int x, int y) {return x+y;}
두개는 오버로딩 X , 변수 이름만 다름 (a, b, -> x, y)
위의 내용은 메서드 중복 정의 add(int, int) is already defined
int add (int a, int b) {return a+b;}
long add(int a, int b) {return (long)(a+b);}
중복 정의 오버로딩 X , 매개변수 개수와 타입이 동일함
long add (int a, long b) {return a+b;}
long add (long a, int b){ return a+b;}
오버로딩 성립 , 단 add(3,3)을 할 경우 The method add(int,int) is ambiguous for the type
'프로그래밍 > JAVA' 카테고리의 다른 글
자바의 정석 기초 ( 상속 (Inheritance) / 포함 (composite) ) (0) | 2020.07.10 |
---|---|
자바의 정석 기초 ( 생성자 this() / 참조변수 this / 변수의 초기화 / 초기화 순서 ) (0) | 2020.07.09 |
자바의 정석 기초 ( 생성자 (constructor)/ 생성자 규칙 / 기본 생성자 (default constructor ) / 매개변수가 있는 생성자 ) (0) | 2020.07.09 |
자바의 정석 기초 ( static 메서드 / instance 메서드 ) (0) | 2020.07.08 |
자바의 정석 기초 ( 메서드 / 메서드 호출 / return 문 / 반환값 ) (0) | 2020.07.08 |
댓글