자바_기초
오버라이딩, 오버로딩?
잠수콩
2019. 5. 27. 14:08
// 오버라이드 : ~위에 덮어쓰다. ~ 우선되다.
// - 오버라이딩
// - 부모클래스로부터 상속받은 메서드의 내용을 자식클래스에 맞게 변경하는 것(재정의)
// 오버라이딩 조건
// - 선언부(메스드명, 매개변수, 리턴타입) 동일
// - 접금제어자를 좁은 범위로 변경할 수 없다.
// 오버로딩 : 기존에 없는 메서드를 정의
//2차원 포인트
//3차원 포인트
class Point{
int x;
int y;
String getLocation() {
return "x>" + x + ", y>"+ y;
}
}
class Point3D extends Point{
int z;
String getLocation(String i1) { //오버로딩
return i1;
}
int getLocation(int i, int j) { //오버로딩
return i + j;
}
void getLocation(String a, String b) { //오버로딩
System.out.println("a = " + a + ", b = " + b);
}
@Override
String getLocation() { //오버라이딩 : 부모클래스의 메서드를 변경한다.
return "x>" + x + ", y>"+ y + ", z>"+ z;
}
}
public class OverridingEx1 {
public static void main(String[] args) {
Point3D p1 = new Point3D();
System.out.println(p1.getLocation());
System.out.println(p1.getLocation(1,2)); //int getLocation(int i, int j)
p1.getLocation("1111111111","22222222"); //void getLocation(String i, String j)
String p2 = p1.getLocation("1111111111"); //String getLocation(String i1)
System.out.println("p2="+p2);
}
}