Java 인터페이스를 활용한 동물 정보 프로그램

Soozoo·2024년 6월 20일

JAVA

목록 보기
16/41

프로젝트 구조

프로젝트는 quiz03 패키지 내에 여러 클래스로 구성되어 있습니다:

인터페이스 Animal
인터페이스를 구현한 Dog, Cat, Duck 클래스
메인 클래스 MainEntry

1. 인터페이스 Animal

먼저, 모든 동물들이 가져야 할 공통 동작을 정의하는 인터페이스 Animal을 정의합니다. 이 인터페이스에는 sound, leg, wing 메서드가 포함됩니다.

package quiz03;

public interface Animal {
    public void sound(String sound);
    public void leg(int leg);
    public void wing(int wing);
}

2. 인터페이스 구현 클래스

Dog, Cat, Duck 클래스는 Animal 인터페이스를 구현합니다. 각각의 클래스는 동물의 다리 수, 소리, 날개 수를 출력하는 기능을 가집니다.

Dog 클래스

package quiz03;

public class Dog implements Animal {

    @Override
    public void leg(int leg) {
        System.out.println("강아지의 다리 수는 " + leg + "개 입니다.");
    }

    @Override
    public void sound(String sound) {
        System.out.println("강아지의 소리는 " + sound);
    }

    @Override
    public void wing(int wing) {
        System.out.println("강아지의 날개는 없습니다.");
    }
}

Cat 클래스

package quiz03;

public class Cat implements Animal {

    @Override
    public void sound(String sound) {
        System.out.println("고양이의 소리는 " + sound);
    }

    @Override
    public void leg(int leg) {
        System.out.println("고양이의 다리 수는 " + leg + "개 입니다.");
    }

    @Override
    public void wing(int wing) {
        System.out.println("고양이의 날개는 없습니다.");
    }
}

Duck 클래스

package quiz03;

public class Duck implements Animal {

    @Override
    public void sound(String sound) {
        System.out.println("오리의 소리는 " + sound);
    }

    @Override
    public void leg(int leg) {
        System.out.println("오리의 다리 수는 " + leg + "개 입니다.");
    }

    @Override
    public void wing(int wing) {
        System.out.println("오리의 날개 수는 " + wing + "개 입니다.");
    }
}

메인 클래스 MainEntry

package quiz03;

import java.util.Scanner;

public class MainEntry {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.println("원하는 동물의 정보를 선택하세요: 1. Dog 2. Cat 3. Duck 4. 종료");
            int choice = sc.nextInt();
            Animal animal;

            switch (choice) {
                case 1:
                    animal = new Dog();
                    break;
                case 2:
                    animal = new Cat();
                    break;
                case 3:
                    animal = new Duck();
                    break;
                case 4:
                    System.out.println("프로그램을 종료합니다.");
                    sc.close();
                    return;
                default:
                    System.out.println("번호를 똑바로 입력하세요.");
                    continue;
            }

            animal.leg(4);
            animal.sound("소리");
            animal.wing(0);
        }
    }
}

실행결과:

원하는 동물의 정보를 선택하세요: 1. Dog 2. Cat 3. Duck 4. 종료
1
강아지의 다리 수는 4개 입니다.
강아지의 소리는 멍멍
강아지의 날개는 없습니다.

원하는 동물의 정보를 선택하세요: 1. Dog 2. Cat 3. Duck 4. 종료
2
고양이의 다리 수는 4개 입니다.
고양이의 소리는 애옹
고양이의 날개는 없습니다.

원하는 동물의 정보를 선택하세요: 1. Dog 2. Cat 3. Duck 4. 종료
3
오리의 다리 수는 2개 입니다.
오리의 소리는 꽥
오리의 날개 수는 2개 입니다.

원하는 동물의 정보를 선택하세요: 1. Dog 2. Cat 3. Duck 4. 종료
4
프로그램을 종료합니다.
profile
넙-죽

0개의 댓글