오버라이딩(Overriding)
::::특별한 Java Story 2013. 6. 6. 20:33 |/*내용을 복사 한 후 이클립스에서
ctrl + shift + F를 눌러주세요!!*/
//P.239 오버라이딩~(overriding)
//앞전에 오버로딩에 대하여 MyMath3 으로 만든것이 있었다. 똑같은 예문에 추가로
//오버라이딩에 대하여 정의 해볼께요~~~
//따라와랏!!!
package JavaTest;
//우선 클래스 정의를 합죠! 앞에서 했던거 복사했음 (-_-)v
class MyMath{
int method = 0;
int add(int a, int b) { //메서드~
return a + b;
}
long add(int a, long b) { //메서드~
return a + b;
}
long add(long a, int b) { //메서드~
return a + b;
}
long add(long a, long b) { //메서드~
return a + b;
}
int method(){
return ++method; //오버라이딩 추가 설명을 위해 추가함!
}
}
///////여기까지는 오버로딩인거 알쥐? 매개변수 값만 달리 해주는것!~~~ Pass~~~
class MyMath6 extends MyMath{ //자~ 위에 MyMath 를 상속 받아 보았습니다.
//오버라이딩 시작하겠습니다. 위에 있는 첫번째 메서드를 변경하겠습니다.!
int add(int a, int b){ //이거 오버라이딩이얌! 위에꺼 그대로 똑같이 써놓고 먼 말이냐고?
return a + b; //상황상 왼쪽은 이렇게 써놓았지만 내용은 완전히 다르게 하는거쥐~
} // 아~ 이 예문은 아무래도 적절치 않은것으로 보인다 하나더 추가할께!
int method(){ //자 이 예문을 보면 이해가 되나?? 역시 자바의 세계는 헷갈려~~
return --method; // (~_~)/
}
}
public class MyMath4 {
public static void main(String[] args) {
MyMath6 mm = new MyMath6();
System.out.println(mm.add(3, 3));
System.out.println(mm.add(3, 3L));
System.out.println(mm.add(3L, 3));
System.out.println(mm.add(3L, 3L));
System.out.println(mm.method()); //요놈이 바로 메서드 오버라이딩을 해서 나온값입뉘다!!!
}
}
//전에 적어 놨던 예문 때문에 조금 헷갈리고 난잡해 보이지만 '오버로딩'도 기억할겸 같이 적어서 만들어 보았음!
//책의 예문은 너무 이론에만 충실해서리.. 참고하길 바래요~
'::::특별한 Java Story' 카테고리의 다른 글
제어자,static,final (0) | 2013.06.08 |
---|---|
Super,Super() 조상클래스 생성자 만들기 (0) | 2013.06.07 |
단일상속(single inheritance) (0) | 2013.06.06 |
클래스간의 관계(포함관계) has-a (0) | 2013.06.06 |
상속(inheritance) (0) | 2013.06.06 |