Computer/Java/Android

Overloading vs Overriding

고양이는생선을좋아해 2013. 10. 7. 10:47

overloading

이름만 같을 뿐 서로 다른 메소드. 상속이나 다형성과는 전혀 상관이 없다.

 

1)리턴 유형이 달라도 됩니다

2)인자목록을 반드시 변경해야 합니다.

3)접근 단계를 마음대로 바꿀 수 있습니다.

 

예)

 

 People

public boolen walk()

                                 ↑

 

 Student

public boolen walk()

public boolen study()

 

 

 

overriding

상속하는 과정에서 같은 이름의 메소드

 

1)인자는 똑같아야 하고, 리턴 유형은 호환이 가능해야 합니다.

2)메소드를 더 접근하기 어렵게 만들면 안됩니다.

 

예)

 

public class Overloads {

String uniqueID;

public int addNums(int a, int b) {

return a + b;

}

public double addNum(double a, double b) {

return a + b;

}

public void setUniqueID(String theID) {

uniqueID = theID;

}

public void setUniqueID(int ssNumber) {

String numString = "" + ssNumber;

setUniqueID(numString);

}

}