[java] 인터페이스의 다양한 구현체의 활용 예시

인터페이스는 자바에서 다형성을 구현하는 강력한 도구 중 하나입니다. 인터페이스를 구현하기 위해서는 해당 인터페이스를 상속받아 추상 메서드를 구현해야 합니다. 다양한 구현체를 활용하여 유연하고 효율적으로 코드를 작성할 수 있습니다.

예시: 도형 인터페이스와 구현체 활용

1. 도형 인터페이스 정의

public interface Shape {
    double calculateArea();
    double calculatePerimeter();
}

2. 구현체: 원

public class Circle implements Shape {
    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    @Override
    public double calculateArea() {
        return Math.PI * radius * radius;
    }

    @Override
    public double calculatePerimeter() {
        return 2 * Math.PI * radius;
    }
}

3. 구현체: 사각형

public class Rectangle implements Shape {
    private double width;
    private double height;

    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    @Override
    public double calculateArea() {
        return width * height;
    }

    @Override
    public double calculatePerimeter() {
        return 2 * (width + height);
    }
}

4. 활용 예시

public class Main {
    public static void main(String[] args) {
        Shape circle = new Circle(5.0);
        Shape rectangle = new Rectangle(4.0, 3.0);

        System.out.println("원의 넓이: " + circle.calculateArea());
        System.out.println("원의 둘레: " + circle.calculatePerimeter());
        System.out.println("사각형의 넓이: " + rectangle.calculateArea());
        System.out.println("사각형의 둘레: " + rectangle.calculatePerimeter());
    }
}

위 예시에서, 도형 인터페이스를 구현한 Circle 및 Rectangle 클래스를 사용하여 각 도형의 넓이와 둘레를 계산하는 예시를 확인할 수 있습니다.

인터페이스를 활용하여 코드를 더 유연하게 작성할 수 있으며, 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있습니다.

참고 자료