1/28 super

이 글은 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