728x90
반응형
package chap8;
/*
* 1. 동물클래스 : Animal1 => 추상클래스
* 멤버변수 : 동물의 종류, 다리수
* 생성자 : 동물의 종류, 다리수 입력받기
* 멤버메서드 : void eat() => 추상메서드로 만들기
* String sound()=> 추상메서드로 만들기
* 2. 강아지클래스 : Dog1 Animal1 클래스의 하위클래스
* 생성자:매개변수 없음.
* 멤버메서드 : void eat() "주인이 주는대로 먹는다"
* String sound() "멍멍"
* 3. 사자클래스 : Lion1 Animal1 클래스의 하위클래스
* 생성자:매개변수 없음.
* 멤버메서드 : void eat() "초식동물을 잡아 먹는다"
* String sound() "어흥"
*/
abstract class Animal1 {
String ani;
int leg;
Animal1(String ani, int leg) {
this.ani = ani;
this.leg = leg;
}
abstract void eat();
abstract String sound();
}
class Dog1 extends Animal1 {
Dog1() {
super("강아지", 4);
}
@Override
void eat() {
System.out.println("주인이 주는대로 먹는다.");
}
@Override
String sound() {
return "멍멍";
}
}
class Lion1 extends Animal1 {
Lion1() {
super("사자", 4);
}
@Override
void eat() {
System.out.println("초식동물 잡아먹는다.");
}
@Override
String sound() {
return "어흥";
}
}
public class Test0316_1 {
public static void main(String[] args) {
Animal1[] animal = new Animal1[2];
animal[0] = new Dog1();
animal[1] = new Lion1();
for(Animal1 a : animal) {
System.out.println(a.ani+"("+a.leg + ")=>" + a.sound());
a.eat();
}
}
}
728x90
반응형
'study > Java' 카테고리의 다른 글
[Java] 24. Test3 풀이 (구동클래스를 실행하였을때 다음의 결과가 나오도록 관련 클래스를 구현하기) (0) | 2022.03.22 |
---|---|
[Java] 24. Test2 풀이 (구동클래스를 실행했을때 다음의 결과가 나오도록 프로그램 구현하기) (0) | 2022.03.22 |
[Java] 24. Test3 (구동클래스를 실행하였을때 다음의 결과가 나오도록 관련 클래스를 구현하기) (0) | 2022.03.22 |
[Java] 24. Test2 (구동클래스를 실행했을때 다음의 결과가 나오도록 프로그램 구현하기) (0) | 2022.03.22 |
[Java] 24. Test1 (각 클래스를 생성하고 출력하기) (0) | 2022.03.22 |