- 메소드의 이름은 동일하지만 매개변수의 갯수 , 데이터 타입이 다름
- 반환형만 다른 것은 X
why? 메소드 호출시 혼란 발생
ex)
int add (int a, int b); double add (int a, int b); //메소드 호출시 메소드명과 매개변수로 호출이 이루어 지기 때문에 어떤 것을 호출해야하는지 혼란 |
* 생성자도 메소드 오버로딩
=> 생성자도 오버로딩을 통해 하나의 클래스에서도 다양한 형태의 인스턴스를 생성 가능
ex)
class Phone { int telephone; int cellphone; public Phone(int tel, int cell) { telephone = tel; cellphone = cell; } public Phone(int cell) { telephone = null; cellphone = cell; } } class ExOverloding { public static void main(String[] args) { Phone p1 = new Phone("02-123-4567","010-1234-5678"); Phone p2 = new Phone("010-1111-2222"); } } |
p1과 p2는 같은 클래스의 인스턴스 이지만 다른 형태로 생성
댓글 없음 :
댓글 쓰기