조상의 메서드를 자신에게 맞게 바꾸는것.(구현부{}만 변경할 수 있음.)
1.선언부가 조상 클래스의 메서드와 일치해야 한다. ==> 반환타입 메서드이름 (매개변수 목록) {}
2.접근 제어자를 조상클래스의 메서드보다 좁은 범위로 변경할 수 없다.(같거나 넓어야함.)
3.예외는 조상 클래스의 메서드보다 많이 선언할 수 없다.(같거나 적어야함.)
class MyPoint3{
int x;
int y;
String getLocation() {
return "x:"+x+", y:"+y;
}
}
class MyPoint3D extends MyPoint3{
int z;
//조상의 getLocation()을 오버라이딩
String getLocation() {
return "x:"+x+", y:"+y+", z:"+z;
}
}
public class OverrideTest {
public static void main(String[] args) {
MyPoint3D p = new MyPoint3D();
p.x = 3;
p.y = 5;
p.z = 7;
}
}
class MyPoint3{
int x;
int y;
MyPoint3(int x, int y){
this.x = x;
this.y = y;
}
//Object클래스의 toString()을 오버라이딩
public String toString() {
return "x:"+x+", y:"+y;
}
}
public class OverrideTest {
public static void main(String[] args) {
MyPoint3 p = new MyPoint3(1,2);
System.out.println(p);
}
}
****둘이 관련 X*******
+오버로딩 : 기존에 없는 새로운 메서드를 정의하는 것.(이름만 같은)
'JAVA' 카테고리의 다른 글
JAVA 인터페이스 (0) | 2022.07.19 |
---|---|
JAVA instanceof 연산자 (0) | 2022.07.18 |
JAVA 인자전달 (0) | 2022.07.17 |
JAVA 제어자 (0) | 2022.07.17 |
JAVA 변수 초기화 (0) | 2022.07.17 |