옛글/안드로이드 프로그래밍
Override / Overload 에 대해서
ShakeJ
2013. 10. 28. 21:05
반응형
Override 는 상위클래스의 메서드를 재정의 하는 것입니다. 간단하게 설명하면 상속받은 메서드의 내용을 변경할 수 있습니다.
부모 클래스에 있는 함수와 파라미터까지 동일해야 하며, 주로 상위 클래스의 함수를 상속받아 하위클래스에서 일부를 변경하기 위해서 사용됩니다.
상속 관계에 있는 두 클래스 중에 하위클래스에서 상위클래스의 메소드를 재정의 하는 것을 의미하는데,
이를테면,
class Parent {
public void print(){
Log.w("WARN","parent");
}
}
class Sub extends Parent {
public void print(){
Log.w("WARN","SUB");
}
}
위와 같이 사용 후 Sub Class의 print를 호출하게 되면 "SUB"라는 글자가 나오게 됩니다. (이럴 거면 왜 오버라이딩을 사용하느냐?) 에 대한 물음은, 서브액티비티에서 일부 내용을 바꿀 경우 사용됩니다.
오버로드는 메서드의 이름은 같으나 파라미터의 갯수나 타입이 다른 함수를 의미합니다.
때문에 한 클래스내에서 선언되어야 합니다.
class Test {
pubic void change(int x){
}
public void change(float x){
}
}
호출하는 파라미터에 따라 호출되는 메서드가 다른 경우 사용되게 됩니다.
Reference : http://www.java-samples.com/showtutorial.php?tutorialid=284
반응형