본문 바로가기

Java

Interface

Interface

  • 다른 클래스를 작성할 때 기본 틀을 제공하면서 클래스 사이의 매개 역할까지도 담당하는 일종의 추상 클래스
  • 추상 메소드와 상수만을 포함한다.
  • 다중 상속이 가능하다.
  • 필드는 public static final로, 메소드는 public abstract로 반드시 선언해야 한다.
interface Car {

    public static final int speed = 50;

    public abstract void drive();

}

class Jeep implements Car {

    private String name;
    private int speed;

    Jeep(String name, int speed) {
        this.name = name;
        this.speed = speed;
    }

    public void drive() {
        System.out.println(name + " drive");
    }

}

class BMW implements Car {

    private String name;
    private int speed;

    BMW(String name, int speed) {
        this.name = name;
        this.speed = speed;
    }

    public void drive() {
        System.out.println(name + " drive");
    }

}

public class InterfaceTest {

    public static void main(String[] args) {

        Jeep jeep = new Jeep("jeep", 50);
        BMW bmw = new BMW("bmw", 100);

        System.out.println("speed is " + Car.speed);

        jeep.drive();
        bmw.drive();

    }

}

 

interface Car {

    public static final int speed = 50;

    public abstract void drive();

}

interface Transportation {

    public static final int speed = 20;

    public abstract void ride();

}

class Jeep implements Car, Transportation {

    private String name;
    private int speed;

    Jeep(String name, int speed) {
        this.name = name;
        this.speed = speed;
    }

    public void drive() {
        System.out.println(name + " drive");
    }

    public void ride() {
        System.out.println("transportation car name is " + name);
    }

}

class BMW implements Car {

    private String name;
    private int speed;

    BMW(String name, int speed) {
        this.name = name;
        this.speed = speed;
    }

    public void drive() {
        System.out.println(name + " drive");
    }

    public void ride() {
        System.out.println("transportation car name is " + name);
    }

}

public class InterfaceTest {

    public static void main(String[] args) {

        Jeep jeep = new Jeep("jeep", 50);
        BMW bmw = new BMW("bmw", 100);

        System.out.println("speed is " + Car.speed);
        System.out.println("speed is " + Transportation.speed);

        jeep.drive();
        bmw.drive();

        jeep.ride();
        bmw.ride();

    }

}

 

▷ 출처

https://www.tcpschool.com/java/java_polymorphism_interface

728x90

'Java' 카테고리의 다른 글

[Spring] @Controller VS @RestController  (0) 2024.07.09
재귀 알고리즘  (0) 2024.07.04
추상 클래스 (Abstract Class)  (0) 2024.07.01
Serialization (직렬화)  (0) 2024.06.28
Enum (열거형)  (0) 2024.06.27