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);
}
}