카테고리 없음

자바 상속 문제

일상코더 2022. 10. 10. 04:19

 Airplane.java(부모클래스)

public class Airplane {

    public void land(){
        System.out.println("착륙합니다.");
    }
    public void fly(){
        System.out.println("일반비행합니다.");
    }
    public void takeOff(){
        System.out.println("이륙합니다.");
    }
}

 

JetsAircraft.java(자식클래스)

public class JetAircraft extends Airplane{
    private static final int NORMAL = 1;
    private static final int JETMODE = 2;

    public int flyMode = NORMAL;
    
    
    //1번문제
    //부모의 메서드(fly())를 재정의(overriding)해서 
    //flyMode가 JETMODE이면 
    //초음속비행합니다. 를 출력하고
    //NORMAL이면 
    ///일반비행합니다. 를 출력하는 메서드를 만드시오.
    /*
    
    
    
    */
    //2번문제
    //현재 필드의 멤버변수 NORMAL, JETMODE는 private 접근 제한자입니다.
    //flyMode의 값을 바꿔주기 위해서는 NORMAL 과 JETMODE 멤버변수에 접근해야하는데
    //이때 필요한 메서드를 만드시오.
    /*
    
    
    
    */
}

 

Main.java

public class Main {
    public static void main(String[] args){
        JetAircraft ja = new JetAircraft();
        ja.takeOff();
        ja.fly();
        ja.flyMode = ja.getJetmode();
        ja.fly();
        ja.flyMode = ja.getNormal();
        ja.fly();
        ja.land();
    }
}

 

출력예시

 

3번 문제


public class Main {
    public static void main(String[] args){
    //main 메서드 지역 안의 코드들중에서 메모리 영역중 힙 영역에 해당하는 코드를 찾아보세요.
        JetAircraft ja = new JetAircraft();  
        ja.takeOff();						
        ja.fly();
        ja.flyMode = ja.getJetmode();
        ja.fly();
        ja.flyMode = ja.getNormal();
        ja.fly();
        ja.land();
    }
}