이 글은 2019년 홍익대학교 자바 겨울 특강 수업을 메모한 것이다.
당시에는 에버노트에 메모해놨었기 때문에,
티스토리 블로그를 시작하면서 백업해둔다.
package chapter7;
//super
//부모 클래스의 객체를 참조하는 참조 변수
//메소드 오버라이딩 후 부모 클래스의 멤버 변수 참조 및 (멤버 메소드 호출: 이 예제에서는 다루지 않았)
//int speed
//this speed
//부모 speed
class car {
int speed;
int wheel;
String carname;
car() {
}
void speedup() {
speed++; // 1 10
}
void speeddown() {
speed--;
}
void stop() {
speed = 0;
}
}
class truck extends car {
int speed;
truck() {
}
void speedup() { //overriding
super.speedup(); //부모클래스에있는 메소드를 사용하게 해주는. 부모클래스에있는 스피드를 업 하라는 거.
speed += 2; // s = s + 2. 이 때의 s는 자식 클래스의 s. super가 없기 때문에. 10
}
void speedup(int speed) { //overroading 8
this.speed += speed; // ts = ts + 8, 10 = 2 + 8
speed++; // 9
super.speed += speed; // ss = ss + s, 10 = 1 + 9
}
int getThisspeed() {
return speed;
}
int getSuperspeed() {
return super.speed;
}
}
public class oop_super {
public static void main(String[] args) {
// TODO Auto-generated method stub
truck mytruck = new truck();
mytruck.speedup();
System.out.println("Thisspeed=" + mytruck.getThisspeed());
System.out.println("Superspeed=" + mytruck.getSuperspeed());
mytruck.speedup(8);
System.out.println("Thisspeed=" + mytruck.getThisspeed());
System.out.println("Superspeed=" + mytruck.getSuperspeed());
}
}
'┝ 개발 언어 > ┎ JAVA' 카테고리의 다른 글
2/1 인터페이스 (0) | 2022.03.01 |
---|---|
2/1 추상클래스 (0) | 2022.03.01 |
1/28 오버라이딩 (0) | 2022.03.01 |
1/28 상속 (0) | 2022.03.01 |
1/30 접근제어자 private (0) | 2022.03.01 |