옛글/안드로이드 프로그래밍

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

반응형