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 |