java oop 23 오버라이딩

오버라이딩
- 상속받은 조상의 메서드를 자신에 맞게 변경하는 것
- 선언부 변경불가, 구현부(내용)만 변경하는 것

오버라이딩의 조건
1.선언부가 조상 클래스의 메서드와 일치해야한다.
(반환타입,메서드이름,매개변수목록이 일치해야함)
2.접근제어자를 조상클래스의 메서드보다 좁은 범위로 변경할수 없다.
3.예외는 조상클래스의 메서드보다 많이 선언할 수 없다.
(적거나 같아야 한다)

public class Oop23_overiding {

    public static void main(String[] args) {

        Point3D_3 pp =new Point3D_3();

        pp.x=3;
        pp.y=5;
        pp.z=7;

        System.out.println(pp.getLocation());
    }
}
class Point3{
    int x;
    int y;

    String getLocation() {
        return "x:"+x+" y:"+y;
    }
}

class Point3D_3 extends Point3{
    int z;

    //조상클래스에 같은 getLocation()메서드도 있지만
    //getLocation()을 부르면 자식메서드를 부르게 된다.
    //가까운 것을 부름 
    String getLocation() {//선언부 변경x
        return "x:"+x+" y:"+y+" z:"+z;//내용만 변경가능
    }
}

좋은 웹페이지 즐겨찾기