1. 오버로딩 (Overloading)

 

- 같은 이름의 메소드를 중복해서 정의하는 것.

- 메소드 이름은 같지만 파라미터의 타입이나 갯수가 달라야 한다.

 

예)

class AA{

    public int add(int x,int y){

        return x+y;

    }

    //오버로딩

    public int add(int x,int y,int z){

        return x+y+z;

    }

}

 

ex> 직사각형, 정사각형의 넓이 구하기.

(MyBox객체를 생성하고 직사각형,정사각형의 넓이를 구해 보세요.)

 

class Test01_overloading{

    public static void main(String[] args){

        MyBox bb=new MyBox();
        int c=bb.getArea(10,20);   

        System.out.println("직사각형넓이:"+c);
        System.out.println("정사각형넓이:"+bb.getArea(10));
    }
}

class MyBox{
    //직사각형의 넓이 구하기
    public int getArea(int x,int y){
        return x*y;
    }

    //정사각형의 넓이 구하기
    public int getArea(int x){
        return x*x;
    }
}

 

 

 

ex> 절대값을 구하는 메소드를 갖는 MyMath라는 클래스를 만들어 보세요.

class MyMath

{

    public int abs(int x)

    {

        if(x<0){

            return -x;

        }else{

            return x;

        }

    }

    public double abs(double x)

    {

        return (x<0)?-x:x;

    }

    public float abs(float x)

    {

        return (x<0)?-x:x;

    }

    public void abs(long x)

    {

        System.out.println("절대값:"+((x<0)?-x:x));

    }

}

class Quiz01

{

    public static void main(String[] args)

    {

        MyMath mm=new MyMath();

        mm.abs(100L);

        //int a=mm.abs(10);

        System.out.println("-10의 절대값:"+ mm.abs(-10));

        System.out.println("-10.5의 절대값:"+ mm.abs(-10.5));

        System.out.println("-10.8의 절대값:"+ mm.abs(-10.8f));

    }

}

 

 

 

 

bin폴더에 생성된 class 리스트

 

 

 

 

 

 

'JAVA' 카테고리의 다른 글

static  (0) 2014.09.12
final  (0) 2014.09.12
클래스( class )  (0) 2014.09.12
배열( array )  (0) 2014.09.12
반복제어문( while문 )  (0) 2014.09.12

+ Recent posts