fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args)
  11. {
  12. SonicAirplane sa = new SonicAirplane();
  13. sa.takeOff();
  14. sa.fly();
  15. sa.flyMode = SonicAirplane.SONIC;
  16. sa.fly();
  17. sa.flyMode = SonicAirplane.NORMAL;
  18. sa.fly();
  19. sa.land();
  20. }
  21. }
  22.  
  23. //일반적인 비행기를 나타낸 클래스- 공통
  24. class Airplane{
  25. public void land(){
  26. System.out.println("착륙합니다.");
  27. }
  28. public void fly(){
  29. System.out.println("일반모드로 비행합니다");
  30. }
  31. public void takeOff(){
  32. System.out.println("이륙합니다");
  33. }
  34. }
  35.  
  36. //음속 비행기를 나타낸 클래스 - 상속
  37. class SonicAirplane extends Airplane{
  38. public static final int NORMAL = 1;
  39. public static final int SONIC = 2;
  40.  
  41. //비행 모드를 저장하는 변수
  42. public int flyMode = NORMAL;
  43.  
  44. @Override
  45. public void fly(){
  46. if(flyMode==SONIC){
  47. System.out.println("음속모드로 비행합니다");
  48. }else{
  49. //부모인 Airplane 객체의 fly() 메소드 호출
  50. super.fly();
  51. }
  52. }
  53. }
Success #stdin #stdout 0.04s 4386816KB
stdin
Standard input is empty
stdout
이륙합니다
일반모드로 비행합니다
음속모드로 비행합니다
일반모드로 비행합니다
착륙합니다.