2016-03-30

12. java - 메소드 오버로딩

메소드 오버로딩(method overloading)

 - 메소드의 이름은 동일하지만 매개변수의 갯수 , 데이터 타입이 다름

 - 반환형만 다른 것은 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는 같은 클래스의 인스턴스 이지만 다른 형태로 생성


댓글 없음 :

댓글 쓰기