JAVA_coding_16

AMJ·2023년 3월 6일
0

code_log_java

목록 보기
18/29

문제

abstract class 비행아이템 {
  abstract void 작동(String 사용자);
}

class 날개로나는비행아이템 extends 비행아이템 {
  void 작동(String 사용자) {
    System.out.println(사용자 + " : 날개로 날아갑니다.");
  }
}

class 못나는비행아이템 extends 비행아이템 {
  void 작동(String 사용자) {
    System.out.println(사용자 + " : 저는 날 수 없어요. ㅜㅠ");
  }
}

풀이_1

abstract class 비행아이템 {
    String text ="";
    void 작동(String 사용자){
        System.out.println(사용자 +text);
    }
}

class 날개로나는비행아이템 extends 비행아이템 {
    날개로나는비행아이템(){
        text = " : 날개로 날아갑니다.";
    }

}

class 못나는비행아이템 extends 비행아이템 {
    못나는비행아이템(){
        text = " : 저는 날 수 없어요. ㅜㅠ";
    }
}

풀이_2

abstract class 비행아이템 {
  static String divisorStr1 = " : ";
  abstract void 작동(String 사용자);
}

class 날개로나는비행아이템 extends 비행아이템 {
  void 작동(String 사용자) {
    String header = 사용자 + divisorStr1;
    System.out.println(header + "날개로 날아갑니다.");
  }
}

class 못나는비행아이템 extends 비행아이템 {
  void 작동(String 사용자) {
    String header = 사용자 + divisorStr1;
    System.out.println(header + "날개로 날아갑니다.");
  }
}

풀이_3

abstract class 비행아이템 {
  static String divisorStr1 = " : ";
  abstract void 작동(String 사용자);

  String getHeaderForPrint(String 사용자) {
    return 사용자 + divisorStr1;
  }
}

class 날개로나는비행아이템 extends 비행아이템 {
  void 작동(String 사용자) {
    System.out.println(getHeaderForPrint(사용자) + "날개로 날아갑니다.");
  }
}

class 못나는비행아이템 extends 비행아이템 {
  void 작동(String 사용자) {
    System.out.println(getHeaderForPrint(사용자) + "날개로 날아갑니다.");
  }
}

풀이_4

abstract class 비행아이템 {
  void 작동(String 사용자) {
    System.out.println(사용자 + " : " + get작동메세지());
  }

  abstract String get작동메세지();
}

class 날개로나는비행아이템 extends 비행아이템 {
  String get작동메세지() {
    return "날개로 날아 갑니다.";
  }
}

class 못나는비행아이템 extends 비행아이템 {
  String get작동메세지() {
    return "저는 못 날아요 ㅠㅠ";
  }
}

class 로켓비행아이템 extends 비행아이템 {
  String get작동메세지() {
    return "로켓파워로 날아갑니다!!!";
  }
}

풀이4 방식 추천.

profile
재미있는 것들

0개의 댓글