이 글은 2019년 홍익대학교 자바 겨울 특강 수업을 메모한 것이다.
당시에는 에버노트에 메모해놨었기 때문에,
티스토리 블로그를 시작하면서 백업해둔다.
package chapter7;
//메소드 오버라이딩
//부모클래스를 자식클래스가 상속받아 멤버 메소드를 재정의
//
//메소드 오버라이딩 규칙
//1. 부모 클래스의 메소드와 완전히 동일하게 선언
//2. 오버라이딩한 메소드도 오버로딩 가능
//오버로딩은 상속관계에서 일어나지 않고
//오버라이딩은 상속관계에서만 일어난다. 그것도 자식 클래스에서만 일어난다.
class car {
int speed;
int wheel;
String carname;
car() {
}
void speedup() {
speed++;
}
void speeddown() {
speed--;
}
void stop() {
speed = 0;
}
}
class truck extends car {
void speedup() { //오버로딩과 다르게 아규먼트 없이 그대로 써도 충돌이 안난다
speed += 2;
}
void speedup(int speed) { //오버라이딩 된 것도 오버로딩을 할 수 있다
this.speed += speed;
}
}
public class overriding {
public static void main(String[] args) {
// TODO Auto-generated method stub
car mycar = new car();
mycar.speedup();
System.out.println(mycar.speed);
truck mytruck = new truck();
mytruck.speedup();
System.out.println(mytruck.speed);
mytruck.speedup(10);
System.out.println(mytruck.speed);
}
}
'┝ 개발 언어 > ┎ JAVA' 카테고리의 다른 글
2/1 추상클래스 (0) | 2022.03.01 |
---|---|
1/28 super (0) | 2022.03.01 |
1/28 상속 (0) | 2022.03.01 |
1/30 접근제어자 private (0) | 2022.03.01 |
1/28 클래스 변수와 인스턴스 변수 (0) | 2022.03.01 |