Java 인터페이스와 다형성: 대중교통 프로그램 예제

Soozoo·2024년 6월 20일

JAVA

목록 보기
14/41

이번 포스트에서는 Java의 인터페이스와 다형성을 활용한 대중교통 프로그램을 구현해보겠습니다. 이 예제는 인터페이스 Trans를 정의하고, 이를 구현하는 Bus, Subway, Airplane 클래스를 통해 대중교통 수단의 출발지와 도착지를 입력받아 출력하는 프로그램을 작성합니다.

Code 예시:

Trans.java
package quiz;

public interface Trans {
    public void start();
    public void stop();
    public void display();
}
bus.java
package quiz;

import java.util.Scanner;

public class Bus implements Trans {
    String depart, destop;
    Scanner sc = new Scanner(System.in);

    @Override
    public void start() {
        System.out.println("버스 출발역을 입력하세요:");
        depart = sc.nextLine();
    }

    @Override
    public void stop() {
        System.out.println("버스 도착역을 입력하세요:");
        destop = sc.nextLine();
    }

    @Override
    public void display() {
        System.out.println("버스 출발역은 " + depart + " 버스 도착역은 " + destop);
    }
}
subway.java
package quiz;

import java.util.Scanner;

public class Subway implements Trans {
    String depart, destop;
    Scanner sc = new Scanner(System.in);

    @Override
    public void start() {
        System.out.println("지하철 출발역을 입력하세요:");
        depart = sc.nextLine();
    }

    @Override
    public void stop() {
        System.out.println("지하철 도착역을 입력하세요:");
        destop = sc.nextLine();
    }

    @Override
    public void display() {
        System.out.println("지하철 출발역은 " + depart + " 지하철 도착역은 " + destop);
    }
}
airplane.java
package quiz;

import java.util.Scanner;

public class Airplane implements Trans {
    String depart, destop;
    Scanner sc = new Scanner(System.in);

    @Override
    public void start() {
        System.out.println("비행기 출발역을 입력하세요:");
        depart = sc.nextLine();
    }

    @Override
    public void stop() {
        System.out.println("비행기 도착역을 입력하세요:");
        destop = sc.nextLine();
    }

    @Override
    public void display() {
        System.out.println("비행기 출발역은 " + depart + " 비행기 도착역은 " + destop);
    }
}
mainentry.java

package quiz;

public class MainEntry {
    public static void main(String[] args) {
        Trans[] transports = {new Bus(), new Subway(), new Airplane()};

        for (Trans transport : transports) {
            transport.start();
            transport.stop();
            transport.display();
        }
    }
}

실행 결과:

버스 출발역을 입력하세요:
Seoul
버스 도착역을 입력하세요:
Busan
버스 출발역은 Seoul 버스 도착역은 Busan

지하철 출발역을 입력하세요:
Gangnam
지하철 도착역을 입력하세요:
Hongdae
지하철 출발역은 Gangnam 지하철 도착역은 Hongdae

비행기 출발역을 입력하세요:
Incheon
비행기 도착역을 입력하세요:
Jeju
비행기 출발역은 Incheon 비행기 도착역은 Jeju
profile
넙-죽

0개의 댓글