[java] 인터페이스 패턴

인터페이스는 자바에서 클래스 간 상호 작용을 정의하는 중요한 역할을 합니다. 이 패턴을 사용하면 클래스가 특정 인터페이스를 구현하여 기능을 제공할 수 있습니다. 이를 통해 다형성을 구현하고 객체 간의 의존성을 줄일 수 있습니다.

인터페이스 정의

다음은 인터페이스를 정의하는 간단한 예제입니다.

public interface Shape {
    void draw();
}

위 예제에서 Shape 인터페이스는 draw 메서드를 포함하고 있습니다. 클래스는 이 인터페이스를 구현하여 도형을 그리는 기능을 제공할 수 있습니다.

인터페이스 구현

다음은 Shape 인터페이스를 구현하는 클래스의 예제입니다.

public class Circle implements Shape {
    @Override
    public void draw() {
        System.out.println("Drawing a circle");
    }
}

위 예제에서 Circle 클래스는 Shape 인터페이스를 구현하고 있으며, draw 메서드를 구체적으로 구현하고 있습니다.

클라이언트 코드

클라이언트 코드에서는 인터페이스를 통해 다양한 클래스의 인스턴스를 다룰 수 있습니다.

public class Client {
    public static void main(String[] args) {
        Shape shape1 = new Circle();
        shape1.draw();

        Shape shape2 = new Rectangle();
        shape2.draw();
    }
}

위 예제에서 Client 클래스는 Shape 인터페이스를 사용하여 CircleRectangle 객체를 다음과 같이 다룰 수 있습니다.

참고 자료: